Boon হল একটি দ্রুত JSON প্রসেসিং লাইব্রেরি, যা Java অ্যাপ্লিকেশনগুলিতে JSON ডেটা প্রোসেসিংয়ের জন্য ব্যবহৃত হয়। তবে Boon-এর সাথে HTTP Requests পাঠানো একটি সাধারণ প্রক্রিয়া নয়, কারণ Boon নিজেই HTTP ক্লায়েন্ট লাইব্রেরি সরবরাহ করে না। তবে, Boon ব্যবহার করে JSON ডেটা প্রেরণ এবং গ্রহণ করার জন্য Java-এর HttpURLConnection অথবা তৃতীয় পক্ষের লাইব্রেরি (যেমন HttpClient বা OkHttp) ব্যবহার করা যেতে পারে।
এই গাইডে, আমরা দেখব কিভাবে Boon ব্যবহার করে JSON ডেটা পাঠানোর জন্য HTTP Requests তৈরি করা যায়।
ধাপ 1: HTTP Request পাঠানোর জন্য Boon এবং Java HttpURLConnection ব্যবহার করা
এখানে, আমরা HttpURLConnection ব্যবহার করে একটি HTTP POST রিকোয়েস্ট পাঠাবো, যেখানে JSON ডেটা পাঠানো হবে। Boon লাইব্রেরি JSON ডেটা তৈরি এবং প্রোসেস করার জন্য ব্যবহৃত হবে।
উদাহরণ: HTTP POST Request পাঠানো
import org.boon.Boon;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpRequestExample {
public static void main(String[] args) {
// API URL
String urlString = "https://jsonplaceholder.typicode.com/posts";
// JSON ডেটা তৈরি করা
MyObject myObject = new MyObject("Sample Title", "Sample Body");
String jsonInputString = Boon.toJson(myObject);
try {
// URL তৈরি
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// HTTP Method সেট করা (POST)
connection.setRequestMethod("POST");
// Header সেট করা
connection.setRequestProperty("Content-Type", "application/json; utf-8");
// Input এবং Output স্ট্রিম খোলা
connection.setDoOutput(true);
// JSON ডেটা লিখা
try (OutputStream os = connection.getOutputStream()) {
byte[] input = jsonInputString.getBytes("utf-8");
os.write(input, 0, input.length);
}
// রেসপন্স কোড পাওয়া
int responseCode = connection.getResponseCode();
System.out.println("HTTP Response Code: " + responseCode);
// রেসপন্স পড়া
try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"))) {
StringBuilder response = new StringBuilder();
String responseLine;
while ((responseLine = br.readLine()) != null) {
response.append(responseLine.trim());
}
// রেসপন্স দেখানো
System.out.println("Response: " + response.toString());
}
} catch (IOException e) {
e.printStackTrace();
}
}
static class MyObject {
private String title;
private String body;
// Constructor
public MyObject(String title, String body) {
this.title = title;
this.body = body;
}
// Getter and Setter Methods
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
}
}
কোড ব্যাখ্যা:
- MyObject ক্লাস: এটি একটি সাধারণ POJO (Plain Old Java Object) ক্লাস যা
titleএবংbodyফিল্ড ধারণ করে। - HTTPURLConnection ব্যবহার: আমরা
HttpURLConnectionব্যবহার করে HTTP POST রিকোয়েস্ট তৈরি করেছি। - Boon.toJson():
MyObjectক্লাস থেকে JSON ডেটা তৈরি করতে Boon লাইব্রেরিরtoJson()মেথড ব্যবহার করা হয়েছে। - OutputStream: JSON ডেটা HTTP রিকোয়েস্টে পাঠানোর জন্য
OutputStreamব্যবহার করা হয়েছে। - Response Handling: HTTP রেসপন্স কোড এবং রেসপন্স কন্টেন্ট পড়ে দেখানো হয়েছে।
আউটপুট (যদি সফল হয়):
HTTP Response Code: 201
Response: {"title":"Sample Title","body":"Sample Body","id":101}
ধাপ 2: OkHttp বা HttpClient ব্যবহার করে HTTP Requests
Boon নিজে HTTP ক্লায়েন্ট সরবরাহ না করলেও, Java-এর অন্যান্য HTTP লাইব্রেরি যেমন OkHttp বা HttpClient ব্যবহার করে আরও কার্যকরী HTTP রিকোয়েস্ট পাঠানো সম্ভব। এখানে, আপনি Boon দিয়ে JSON তৈরি করবেন এবং তৃতীয় পক্ষের HTTP লাইব্রেরি দিয়ে রিকোয়েস্ট পাঠাবেন।
OkHttp এর মাধ্যমে POST Request পাঠানো
import org.boon.Boon;
import okhttp3.*;
import java.io.IOException;
public class OkHttpExample {
public static void main(String[] args) {
// OkHttpClient তৈরি
OkHttpClient client = new OkHttpClient();
// JSON ডেটা তৈরি করা
MyObject myObject = new MyObject("Sample Title", "Sample Body");
String jsonInputString = Boon.toJson(myObject);
// RequestBody তৈরি
RequestBody body = RequestBody.create(jsonInputString, MediaType.get("application/json; charset=utf-8"));
// HTTP POST Request তৈরি
Request request = new Request.Builder()
.url("https://jsonplaceholder.typicode.com/posts")
.post(body)
.build();
// HTTP Request পাঠানো এবং রেসপন্স পাওয়া
try (Response response = client.newCall(request).execute()) {
System.out.println("HTTP Response Code: " + response.code());
System.out.println("Response: " + response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
static class MyObject {
private String title;
private String body;
// Constructor
public MyObject(String title, String body) {
this.title = title;
this.body = body;
}
// Getter and Setter Methods
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
}
}
OkHttp লাইব্রেরি ব্যবহার করে Boon দিয়ে JSON ডেটা তৈরি করা হচ্ছে এবং POST রিকোয়েস্ট পাঠানো হচ্ছে। OkHttp লাইব্রেরি HTTP রিকোয়েস্ট পাঠানোর জন্য দ্রুত এবং কার্যকরী একটি টুল।
সারাংশ
Boon লাইব্রেরি দিয়ে HTTP Requests পাঠানো সরাসরি সম্ভব না হলেও, HttpURLConnection, OkHttp, বা HttpClient এর মতো Java HTTP ক্লায়েন্ট লাইব্রেরি ব্যবহার করে JSON ডেটা পাঠানো সম্ভব। Boon ব্যবহার করে JSON তৈরি করা এবং সেই JSON ডেটা HTTP রিকোয়েস্টে পাঠানোর প্রক্রিয়া দ্রুত এবং কার্যকরী হয়। OkHttp বা HttpURLConnection এর মাধ্যমে HTTP POST রিকোয়েস্ট পাঠানো এবং JSON ডেটা প্রোসেস করা সহজভাবে করা যায়।