Aurelia এর HTTP Client একটি শক্তিশালী টুল যা আপনাকে আপনার অ্যাপ্লিকেশন থেকে HTTP রিকোয়েস্ট পাঠাতে এবং রেসপন্স গ্রহণ করতে সাহায্য করে। এটি RESTful API বা অন্য যেকোনো HTTP সার্ভিসের সাথে যোগাযোগ করার জন্য ব্যবহার করা হয়। Aurelia এর HTTP Client খুবই সহজ এবং ফ্লেক্সিবল, যা আপনি GET, POST, PUT, DELETE সহ বিভিন্ন HTTP মেথড ব্যবহার করতে পারেন।
১. Aurelia HTTP ক্লায়েন্ট ইনস্টল এবং কনফিগার করা
Aurelia HTTP ক্লায়েন্ট ব্যবহার করতে হলে প্রথমে আপনাকে aurelia-fetch-client প্যাকেজটি ইনস্টল করতে হবে, যেটি Aurelia এর HTTP ক্লায়েন্ট প্রদান করে।
প্যাকেজ ইনস্টল করা:
npm install aurelia-fetch-client
HTTP ক্লায়েন্ট কনফিগারেশন:
প্রথমে, আপনাকে HTTPClient ক্লাসটি আপনার অ্যাপ্লিকেশনে ইমপোর্ট এবং কনফিগার করতে হবে। এটি সাধারণত main.js বা main.ts ফাইলে কনফিগার করা হয়।
import { HttpClient } from 'aurelia-fetch-client';
export function configure(aurelia) {
aurelia.container.get(HttpClient)
.configure(config => {
config
.withBaseUrl('https://api.example.com/')
.withDefaults({
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
.withInterceptor({
request(request) {
console.log('Request:', request);
return request;
},
response(response) {
console.log('Response:', response);
return response;
},
responseError(error) {
console.log('Error:', error);
return Promise.reject(error);
}
});
});
}
এখানে withBaseUrl দিয়ে আমরা API এর বেস URL কনফিগার করছি এবং withDefaults দিয়ে কিছু সাধারণ হেডার সেট করছি।
২. GET রিকোয়েস্ট ব্যবহার করা
HTTP Client এর মাধ্যমে GET রিকোয়েস্ট পাঠাতে খুবই সহজ। আপনি fetch মেথড ব্যবহার করে যেকোনো URL থেকে ডেটা রিটার্ন করতে পারেন।
উদাহরণ:
import { HttpClient } from 'aurelia-fetch-client';
export class App {
httpClient = new HttpClient();
data = [];
activate() {
this.httpClient.fetch('https://api.example.com/data')
.then(response => response.json())
.then(json => {
this.data = json;
console.log(this.data);
})
.catch(error => console.log(error));
}
}
এখানে fetch মেথডের মাধ্যমে GET রিকোয়েস্ট পাঠানো হচ্ছে এবং রেসপন্সকে JSON ফরম্যাটে পার্স করা হচ্ছে।
৩. POST রিকোয়েস্ট ব্যবহার করা
Aurelia HTTP Client ব্যবহার করে POST রিকোয়েস্ট পাঠানোও সহজ। আপনি ডেটা পাঠাতে post মেথড ব্যবহার করতে পারেন।
উদাহরণ:
import { HttpClient } from 'aurelia-fetch-client';
export class App {
httpClient = new HttpClient();
responseMessage = '';
submitData() {
const data = { name: 'John', age: 30 };
this.httpClient.post('https://api.example.com/data', JSON.stringify(data))
.then(response => response.json())
.then(json => {
this.responseMessage = json.message;
console.log(this.responseMessage);
})
.catch(error => console.log(error));
}
}
এখানে post মেথডের মাধ্যমে আমরা data পাঠাচ্ছি এবং JSON.stringify ব্যবহার করে সেই ডেটাকে JSON ফরম্যাটে রূপান্তর করছি। রেসপন্সে ফেরত পাওয়া message প্রপার্টি আমরা UI তে দেখাচ্ছি।
৪. PUT রিকোয়েস্ট ব্যবহার করা
PUT রিকোয়েস্ট সাধারণত রিসোর্সের পুরো ডেটা আপডেট করতে ব্যবহৃত হয়। PUT রিকোয়েস্ট পাঠানোর জন্য put মেথড ব্যবহার করতে হয়।
উদাহরণ:
import { HttpClient } from 'aurelia-fetch-client';
export class App {
httpClient = new HttpClient();
updatedMessage = '';
updateData() {
const data = { name: 'John', age: 31 };
this.httpClient.put('https://api.example.com/data/1', JSON.stringify(data))
.then(response => response.json())
.then(json => {
this.updatedMessage = json.message;
console.log(this.updatedMessage);
})
.catch(error => console.log(error));
}
}
এখানে put মেথডের মাধ্যমে আমরা একটি নির্দিষ্ট রিসোর্স data/1 আপডেট করতে পাঠাচ্ছি এবং রেসপন্সে ফেরত পাওয়া message প্রপার্টি UI তে প্রদর্শন করছি।
৫. DELETE রিকোয়েস্ট ব্যবহার করা
DELETE রিকোয়েস্ট ব্যবহৃত হয় কোনো রিসোর্স মুছে ফেলার জন্য। DELETE রিকোয়েস্ট পাঠানোর জন্য delete মেথড ব্যবহার করা হয়।
উদাহরণ:
import { HttpClient } from 'aurelia-fetch-client';
export class App {
httpClient = new HttpClient();
deleteMessage = '';
deleteData() {
this.httpClient.delete('https://api.example.com/data/1')
.then(response => response.json())
.then(json => {
this.deleteMessage = json.message;
console.log(this.deleteMessage);
})
.catch(error => console.log(error));
}
}
এখানে delete মেথডের মাধ্যমে আমরা data/1 রিসোর্সটি মুছে ফেলতে পাঠাচ্ছি এবং রেসপন্সে ফেরত পাওয়া message প্রপার্টি UI তে দেখাচ্ছি।
৬. Error Handling
Aurelia HTTP Client এর মাধ্যমে আপনি সহজেই রিকোয়েস্টের error handling করতে পারেন। আপনি catch ব্লক ব্যবহার করে যেকোনো রিকোয়েস্টের ভুল ক্যাচ করতে পারবেন।
উদাহরণ:
this.httpClient.fetch('https://api.example.com/invalid-url')
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(json => console.log(json))
.catch(error => console.error('There was a problem with the fetch operation:', error));
এখানে catch ব্লক ব্যবহার করা হয়েছে, যাতে কোনো রিকোয়েস্টের ভুল হলে তা সঠিকভাবে handle করা যায়।
উপসংহার
Aurelia এর HTTP Client আপনাকে সহজে এবং কার্যকরভাবে HTTP রিকোয়েস্ট পাঠাতে সহায়তা করে। আপনি GET, POST, PUT, এবং DELETE রিকোয়েস্টগুলোর মাধ্যমে API থেকে ডেটা নিয়ে আসতে, পাঠাতে, আপডেট করতে এবং মুছে ফেলতে পারবেন। HTTP Client এর মাধ্যমে আপনি খুব সহজেই এপ্লিকেশন এবং API এর মধ্যে যোগাযোগ করতে পারেন, এবং এর error handling সিস্টেম নিশ্চিত করে যে কোনো সমস্যার ক্ষেত্রে ডেভেলপার সঠিকভাবে রেসপন্স পাবেন।
Read more