REST API হলো এমন একটি সফটওয়্যার ইন্টারফেস যা ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগ সহজ করে তোলে। REST API সাধারণত HTTP প্রোটোকল ব্যবহার করে এবং ডেটা ফরম্যাট হিসেবে JSON ব্যবহার করে। ASP.NET Core দিয়ে REST API তৈরি করা সহজ, এবং এটি সিস্টেমের বিভিন্ন অংশের মধ্যে যোগাযোগ করতে ব্যবহৃত হয়।
১. Visual Studio ওপেন করুন। ২. File > New > Project এ যান। ৩. ASP.NET Core Web Application নির্বাচন করুন এবং Next ক্লিক করুন। ৪. প্রজেক্টের জন্য নাম লিখুন এবং Create ক্লিক করুন। ৫. API টেমপ্লেট নির্বাচন করুন এবং Create ক্লিক করুন।
ধরা যাক, আমরা একটি Student মডেল তৈরি করব যেখানে শিক্ষার্থীর তথ্য থাকবে।
Models
ফোল্ডারে Student.cs
নামে একটি ক্লাস তৈরি করুন এবং নিচের কোড লিখুন:
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
ASP.NET Core এ Entity Framework Core ব্যবহার করে ডাটাবেসে ডেটা সংরক্ষণ করা যায়। DbContext সেটআপ করতে প্রথমে Entity Framework Core প্যাকেজটি ইনস্টল করুন:
Package Manager Console এ নিচের কমান্ডটি রান করুন:
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
Models
ফোল্ডারে ApplicationDbContext.cs
নামে একটি ক্লাস তৈরি করুন এবং নিচের কোডটি লিখুন:
using Microsoft.EntityFrameworkCore;
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
}
public DbSet<Student> Students { get; set; }
}
appsettings.json
ফাইলে ডাটাবেস কানেকশন স্ট্রিং যোগ করুন:
"ConnectionStrings": {
"DefaultConnection": "Server=your_server_name;Database=your_database_name;User Id=your_username;Password=your_password;"
}
Startup.cs
ফাইলে DbContext রেজিস্টার করুন:
using Microsoft.EntityFrameworkCore;
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}
Package Manager Console এ নিচের কমান্ডগুলো রান করুন:
Add-Migration InitialCreate
Update-Database
এতে Students টেবিল ডাটাবেসে তৈরি হবে।
API কন্ট্রোলার CRUD অপারেশন পরিচালনা করবে। Controllers
ফোল্ডারে StudentsController.cs
নামে একটি নতুন কন্ট্রোলার তৈরি করুন এবং নিচের কোডটি লিখুন:
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
[Route("api/[controller]")]
[ApiController]
public class StudentsController : ControllerBase
{
private readonly ApplicationDbContext _context;
public StudentsController(ApplicationDbContext context)
{
_context = context;
}
// GET: api/Students
[HttpGet]
public async Task<ActionResult<IEnumerable<Student>>> GetStudents()
{
return await _context.Students.ToListAsync();
}
// GET: api/Students/5
[HttpGet("{id}")]
public async Task<ActionResult<Student>> GetStudent(int id)
{
var student = await _context.Students.FindAsync(id);
if (student == null)
{
return NotFound();
}
return student;
}
// POST: api/Students
[HttpPost]
public async Task<ActionResult<Student>> PostStudent(Student student)
{
_context.Students.Add(student);
await _context.SaveChangesAsync();
return CreatedAtAction("GetStudent", new { id = student.Id }, student);
}
// PUT: api/Students/5
[HttpPut("{id}")]
public async Task<IActionResult> PutStudent(int id, Student student)
{
if (id != student.Id)
{
return BadRequest();
}
_context.Entry(student).State = EntityState.Modified;
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!_context.Students.Any(e => e.Id == id))
{
return NotFound();
}
else
{
throw;
}
}
return NoContent();
}
// DELETE: api/Students/5
[HttpDelete("{id}")]
public async Task<IActionResult> DeleteStudent(int id)
{
var student = await _context.Students.FindAsync(id);
if (student == null)
{
return NotFound();
}
_context.Students.Remove(student);
await _context.SaveChangesAsync();
return NoContent();
}
}
F5
) ক্লিক করে প্রজেক্ট রান করুন।/api/Students
।/api/Students
এবং /api/Students/{id}
এন্ডপয়েন্টে ব্যবহার করা হয় ডেটা রিড করতে।/api/Students
এন্ডপয়েন্টে ব্যবহার করা হয় নতুন ডেটা তৈরি করতে।/api/Students/{id}
এন্ডপয়েন্টে বিদ্যমান ডেটা আপডেট করতে ব্যবহার করা হয়।/api/Students/{id}
এন্ডপয়েন্টে বিদ্যমান ডেটা মুছে ফেলা হয়।ASP.NET Core দিয়ে REST API তৈরি করে ডায়নামিক এবং স্কেলেবল ওয়েব এপ্লিকেশন তৈরি করা যায়, যা ডেটাবেস এবং ক্লায়েন্টের মধ্যে সংযোগ রক্ষা করে।
আরও দেখুন...