ASP.Net MVC-তে Attribute Routing হল একটি ফিচার যা ডেভেলপারদের নির্দিষ্ট অ্যাকশন মেথডগুলোর জন্য কাস্টম URL প্যাটার্ন ডিফাইন করতে সহায়ক। এটি সাধারণত Controller এবং Action মেথডের উপরে Attributes অ্যাটাচ করে রাউটিং কনফিগারেশন করতে ব্যবহার করা হয়। Attribute Routing দ্বারা রাউটিং কনফিগারেশন সহজ ও স্বচ্ছ হয়, এবং এতে URL স্ট্রাকচারকে আরও ফ্লেক্সিবল ও পরিষ্কারভাবে কাস্টমাইজ করা যায়।
Attribute Routing চালু করার জন্য RouteConfig.cs ফাইলে routes.MapMvcAttributeRoutes();
কল করতে হয়। একবার এটি কনফিগার করা হলে, আপনি অ্যাকশন মেথডের উপর Route অ্যাট্রিবিউট ব্যবহার করতে পারেন।
public class ProductsController : Controller
{
[Route("products/{id}")]
public ActionResult Details(int id)
{
// ডেটা প্রসেসিং এবং ভিউ রিটার্ন
return View();
}
[Route("products/all")]
public ActionResult AllProducts()
{
// সব প্রোডাক্টের তালিকা দেখানোর জন্য কোড
return View();
}
}
উপরের উদাহরণে, Details অ্যাকশন মেথডের জন্য একটি কাস্টম URL products/{id}
নির্ধারণ করা হয়েছে, যেখানে id
হল ডাইনামিক প্যারামিটার। আর AllProducts অ্যাকশন মেথডে products/all
URL নির্ধারণ করা হয়েছে।
[Route("products/{category}/{id}")]
public ActionResult CategoryDetails(string category, int id)
{
// ডেটা প্রসেসিং
return View();
}
এখানে, URL-এ category এবং id দুটি প্যারামিটার নির্ধারণ করা হয়েছে।
[Route("products/{id}")]
[HttpPost]
public ActionResult UpdateProduct(int id)
{
// পণ্যের তথ্য আপডেট
return View();
}
এই ক্ষেত্রে, [HttpPost] অ্যাট্রিবিউট দ্বারা শুধু POST অনুরোধে UpdateProduct অ্যাকশনটি কল হবে।
[Route("products/{id:int}")]
public ActionResult ProductById(int id)
{
// শুধুমাত্র পূর্ণসংখ্যা টাইপের id গ্রহণ করা হবে
return View();
}
এখানে int টাইপের প্যারামিটার নির্দিষ্ট করা হয়েছে, যাতে URL তে শুধুমাত্র পূর্ণসংখ্যা গ্রহণ করা হয়।
ASP.Net MVC তে Attribute Routing ব্যবহার করতে, প্রথমে RouteConfig.cs ফাইলে নিচের কোডটি যোগ করুন:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapMvcAttributeRoutes(); // Attribute Routing চালু করা
// অন্যান্য রাউটিং কনফিগারেশন...
}
Attribute Routing একটি অত্যন্ত শক্তিশালী এবং ফ্লেক্সিবল ফিচার যা ডেভেলপারদের কাস্টম URL রাউটিং কনফিগারেশন তৈরি করতে সহায়ক। এটি URL গুলিকে আরও পরিষ্কার, অর্থপূর্ণ এবং ডাইনামিক করে তোলে। Attribute Routing এর সুবিধাগুলি যেমন সহজ কনফিগারেশন, স্পষ্ট URL প্যাটার্ন, এবং কাস্টম URL রাউটিং আধুনিক অ্যাপ্লিকেশন ডেভেলপমেন্টে বিশেষভাবে কার্যকর।