React, Angular, এবং Vue.js হল জনপ্রিয় ফ্রন্ট-এন্ড JavaScript ফ্রেমওয়ার্ক এবং লাইব্রেরি, যা ASP.NET Core API এর সাথে ইন্টিগ্রেট করে শক্তিশালী এবং স্কেলেবল ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। ASP.NET Core একটি শক্তিশালী এবং দ্রুত API সেবা প্রদান করে, এবং React, Angular, বা Vue.js এর মাধ্যমে এটি ব্যবহারকারী ইন্টারফেসে ডেটা প্রদর্শন করতে সাহায্য করে।
এখানে, আমরা দেখবো কিভাবে ASP.NET Core Web API এবং React, Angular, বা Vue.js এর মধ্যে ইন্টিগ্রেশন করা যায়।
প্রথমে, আপনাকে একটি ASP.NET Core Web API তৈরি করতে হবে। আমরা একটি সাধারণ Products
API তৈরি করব, যা React, Angular, বা Vue.js এর সাথে যোগাযোগ করবে।
নতুন ASP.NET Core API প্রজেক্ট তৈরি করুন:
dotnet CLI
ব্যবহার করে একটি নতুন Web API প্রজেক্ট তৈরি করুন।dotnet new webapi -n MyApi
API Controller তৈরি করা: একটি ProductController
তৈরি করুন, যা ডেটা প্রদান করবে।
[Route("api/[controller]")]
[ApiController]
public class ProductsController : ControllerBase
{
private static List<Product> _products = new List<Product>
{
new Product { Id = 1, Name = "Product 1", Price = 100 },
new Product { Id = 2, Name = "Product 2", Price = 200 }
};
[HttpGet]
public ActionResult<List<Product>> GetProducts()
{
return Ok(_products);
}
[HttpGet("{id}")]
public ActionResult<Product> GetProduct(int id)
{
var product = _products.FirstOrDefault(p => p.Id == id);
if (product == null)
return NotFound();
return Ok(product);
}
}
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
এখানে, ProductsController
একটি API তৈরি করেছে যা ডেটার তালিকা প্রদান করবে এবং প্রতিটি পণ্য প্রদর্শন করবে।
CORS কনফিগারেশন: আপনি যদি ফ্রন্ট-এন্ড অ্যাপ্লিকেশন (যেমন React, Angular, বা Vue.js) আলাদা সার্ভারে চালান, তবে আপনাকে CORS (Cross-Origin Resource Sharing) কনফিগার করতে হবে। এটি করার জন্য, ConfigureServices
মেথডে নিচের কোডটি যোগ করুন:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAll", builder =>
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader());
});
services.AddControllers();
}
এবং Configure
মেথডে CORS ব্যবহার করুন:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseCors("AllowAll");
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
React ব্যবহার করে আপনি সহজেই ASP.NET Core API এর সাথে যোগাযোগ করতে পারেন। React অ্যাপ্লিকেশন তৈরি করতে create-react-app
ব্যবহার করা হয়, যা একটি প্রাথমিক React অ্যাপ তৈরি করবে।
নতুন React অ্যাপ তৈরি করুন:
create-react-app
ব্যবহার করে নতুন React অ্যাপ তৈরি করতে পারেন।npx create-react-app my-react-app
cd my-react-app
API কল করা: axios
অথবা fetch
ব্যবহার করে ASP.NET Core API এর সাথে যোগাযোগ করা হয়। এখানে আমরা axios
ব্যবহার করব।
axios ইনস্টল করুন:
npm install axios
API কল করার উদাহরণ:
import React, { useEffect, useState } from 'react';
import axios from 'axios';
function App() {
const [products, setProducts] = useState([]);
useEffect(() => {
axios.get('https://localhost:5001/api/products')
.then(response => setProducts(response.data))
.catch(error => console.log('Error fetching products:', error));
}, []);
return (
<div className="App">
<h1>Products</h1>
<ul>
{products.map(product => (
<li key={product.id}>{product.name} - ${product.price}</li>
))}
</ul>
</div>
);
}
export default App;
এখানে, useEffect
হুক ব্যবহার করে axios
থেকে API কল করা হচ্ছে এবং প্রাপ্ত ডেটা setProducts
মাধ্যমে স্টেটে সেভ করা হচ্ছে।
Angular একটি পূর্ণাঙ্গ ফ্রেমওয়ার্ক, যেখানে HTTP ক্লায়েন্ট সার্ভিস ব্যবহার করে API কল করা হয়।
Angular অ্যাপ তৈরি করুন: Angular CLI ব্যবহার করে একটি নতুন অ্যাপ তৈরি করুন:
ng new my-angular-app
cd my-angular-app
HttpClientModule ইমপোর্ট করা: app.module.ts ফাইলে HttpClientModule
ইমপোর্ট করুন:
import { HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
HttpClientModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
API কল করা: app.component.ts ফাইলে API কল করুন:
import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
products: any[] = [];
constructor(private http: HttpClient) {}
ngOnInit() {
this.http.get<any[]>('https://localhost:5001/api/products')
.subscribe(data => {
this.products = data;
});
}
}
Vue.js একটি প্রগতিশীল JavaScript ফ্রেমওয়ার্ক, যা API এর সাথে সংযোগ করতে সহজ এবং দ্রুত।
Vue CLI ইনস্টল করুন:
npm install -g @vue/cli
নতুন Vue অ্যাপ তৈরি করুন:
vue create my-vue-app
cd my-vue-app
API কল করা: axios ব্যবহার করে Vue.js থেকে API কল করা হয়। প্রথমে axios
ইনস্টল করুন:
npm install axios
এরপর, App.vue
ফাইলে API কল করুন:
<template>
<div id="app">
<h1>Products</h1>
<ul>
<li v-for="product in products" :key="product.id">
{{ product.name }} - ${{ product.price }}
</li>
</ul>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
products: []
};
},
mounted() {
axios.get('https://localhost:5001/api/products')
.then(response => {
this.products = response.data;
})
.catch(error => {
console.log('Error:', error);
});
}
};
</script>
React, Angular, এবং Vue.js এর সাথে ASP.NET Core API ইন্টিগ্রেশন খুবই সহজ এবং কার্যকরী। আপনি axios
অথবা HttpClient
ব্যবহার করে API কল করতে পারেন এবং ডেটা ব্যবহারকারীর ইন্টারফেসে প্রদর্শন করতে পারেন। এই ইন্টিগ্রেশন আপনাকে একটি ফ্রন্ট-এন্ড এবং ব্যাক-এন্ড সিস্টেম তৈরি করতে সাহায্য করে, যা একে অপরের সাথে যোগাযোগ করতে পারে এবং ডাইনামিক ডেটা প্রদর্শন করতে পারে।
common.read_more