Struts 2 তে REST API তৈরি করা

Struts 2 এবং REST Integration - স্ট্রাটস (Struts 2) - Java Technologies

332

Struts 2 হল একটি শক্তিশালী MVC (Model-View-Controller) ফ্রেমওয়ার্ক যা ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে ব্যবহৃত হয়। এটি RESTful web services তৈরি করার জন্যও ব্যবহার করা যেতে পারে, যা HTTP প্রোটোকলের মাধ্যমে সিম্পল এবং সেলফ-ডেস্ক্রিপটিভ সার্ভিস অফার করে। Struts 2 তে REST API তৈরি করা অত্যন্ত সহজ এবং JSON বা XML ফর্ম্যাটে ডেটা আউটপুট দেয়।

RESTful API কী?

REST (Representational State Transfer) একটি স্টাইল আর্কিটেকচার যা HTTP প্রোটোকলের উপর ভিত্তি করে কাজ করে। REST API এর মাধ্যমে ক্লায়েন্ট ও সার্ভারের মধ্যে কমিউনিকেশন করা হয়, যেখানে সাধারণত HTTP মেথড যেমন GET, POST, PUT, DELETE ইত্যাদি ব্যবহৃত হয়।

Struts 2 তে REST API তৈরি করার জন্য ধাপ

  1. Maven Configuration
  2. Struts 2 REST Plugin
  3. Action Class Configuration
  4. struts.xml Configuration
  5. Testing the REST API

1. Maven Configuration

Struts 2 তে REST API তৈরির জন্য আপনাকে struts2-rest-plugin ব্যবহার করতে হবে। এটি Struts 2 অ্যাপ্লিকেশনে RESTful সেবা তৈরি করার জন্য প্রয়োজনীয় ফিচার এবং কনফিগারেশন সরবরাহ করে।

pom.xml ফাইলে নিম্নলিখিত ডিপেনডেন্সি যোগ করুন:

<dependencies>
    <!-- Struts 2 Core Dependency -->
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.5.22</version> <!-- সর্বশেষ ভার্সন চেক করুন -->
    </dependency>

    <!-- Struts 2 REST Plugin Dependency -->
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-rest-plugin</artifactId>
        <version>2.5.22</version> <!-- সর্বশেষ ভার্সন চেক করুন -->
    </dependency>

    <!-- Jackson Dependency for JSON -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.10.0</version>
    </dependency>
</dependencies>

এখানে:

  • struts2-rest-plugin ফ্রেমওয়ার্কটি RESTful API তৈরি করতে ব্যবহৃত হবে।
  • jackson-databind JSON ডেটা প্রক্রিয়া করতে ব্যবহৃত হয়।

2. Struts 2 REST Plugin Configuration

Struts 2 REST Plugin এর মাধ্যমে API কল হ্যান্ডলিং এবং রেসপন্স পরিচালনা করা হয়। আপনাকে web.xml কনফিগারেশন ফাইলে RestFilter ফিল্টার যোগ করতে হবে।

web.xml কনফিগারেশন:

<filter>
    <filter-name>rest</filter-name>
    <filter-class>org.apache.struts2.rest.RestFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>rest</filter-name>
    <url-pattern>/rest/*</url-pattern>
</filter-mapping>

এখানে, RestFilter ফিল্টারটি REST API এর URL গুলি প্রসেস করার জন্য ব্যবহৃত হয়।


3. Action Class Configuration

Struts 2 তে REST API তৈরি করার জন্য Action ক্লাসে RESTful মেথডগুলি কনফিগার করতে হয়। এই অ্যাকশন ক্লাসে HTTP মেথডের সাথে সম্পর্কিত অ্যাকশন হ্যান্ডল করতে পারেন।

Action Class উদাহরণ:

import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.rest.annotations.Result;
import org.apache.struts2.rest.annotations.Action;
import org.apache.struts2.rest.annotations.Rest;

import java.util.Arrays;
import java.util.List;

@Rest
public class UserAction extends ActionSupport {

    private List<String> users;

    @Action("getUsers")
    @Result(type = "json")
    public String getUsers() {
        users = Arrays.asList("John", "Jane", "Alice", "Bob");
        return SUCCESS;
    }

    // Getter and Setter for users
    public List<String> getUsers() {
        return users;
    }

    public void setUsers(List<String> users) {
        this.users = users;
    }
}

ব্যাখ্যা:

  • @Rest: এই অ্যানোটেশনটি Action ক্লাসে ব্যবহৃত হয়, যা এটিকে REST API হিসাবে নির্দেশিত করে।
  • @Action: HTTP মেথডের জন্য সংজ্ঞায়িত করা হয় (যেমন GET, POST, PUT)। এখানে getUsers নামে একটি অ্যাকশন রয়েছে।
  • @Result: আউটপুট রেসপন্স হিসাবে JSON রেসপন্স টাইপ ব্যবহার করা হয়েছে।

4. struts.xml Configuration

Struts 2 এর struts.xml ফাইলে আপনার REST API অ্যাকশন কনফিগার করতে হবে। এখানে REST URL এবং রেসপন্স কনফিগার করা হয়।

struts.xml উদাহরণ:

<package name="rest" extends="struts-default">
    <action name="getUsers" class="com.example.UserAction" method="getUsers">
        <result type="json" />
    </action>
</package>

ব্যাখ্যা:

  • action ট্যাগের মধ্যে name হচ্ছে URL প্যাটার্ন যা REST API endpoint নির্দেশ করে। getUsers হলে http://localhost:8080/your-app/rest/getUsers হবে।
  • result ট্যাগটি json আউটপুট টাইপের জন্য কনফিগার করা হয়েছে।

5. Testing the REST API

Struts 2 REST API তৈরি করার পর, আপনি আপনার API পরীক্ষা করতে Postman বা Curl এর মাধ্যমে HTTP রিকোয়েস্ট পাঠাতে পারেন।

API Request Testing using Curl:

curl -X GET http://localhost:8080/your-app/rest/getUsers

Postman:

  • Method: GET
  • URL: http://localhost:8080/your-app/rest/getUsers
  • Response: JSON response হবে, যেমন:
{
    "users": ["John", "Jane", "Alice", "Bob"]
}

সারাংশ

Struts 2 তে RESTful API তৈরি করার জন্য struts2-rest-plugin ব্যবহার করা হয়, যা HTTP মেথডের মাধ্যমে রিকোয়েস্ট গ্রহণ এবং রেসপন্স প্রদান করতে সাহায্য করে। Action Class তে @Rest অ্যানোটেশন, @Action এবং @Result এর মাধ্যমে API কনফিগার করা যায়। Struts 2 তে JSON বা XML ফরম্যাটে ডেটা রিটার্ন করার জন্য সহজভাবে REST API তৈরি করা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...