Routing হল একটি প্রক্রিয়া যার মাধ্যমে ASP.Net Core অ্যাপ্লিকেশন ইনকামিং HTTP রিকোয়েস্টকে নির্দিষ্ট কন্ট্রোলার এবং একশন মেথডের সাথে ম্যাপ করে। রাউটিং কনফিগারেশন সঠিকভাবে না করলে অ্যাপ্লিকেশনটি সঠিকভাবে রিকোয়েস্ট প্রক্রেস করতে পারবে না। ASP.Net Core এ রাউটিং কনফিগার করা বেশ সহজ, এবং আপনি এটি Startup.cs
ফাইলে করতে পারেন।
Route Configuration
ASP.Net Core অ্যাপ্লিকেশনে রাউটিং কনফিগার করার জন্য সাধারণত Configure
মেথডে UseRouting
এবং UseEndpoints
মেথড ব্যবহার করা হয়।
public class Startup
{
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// রাউটিং কনফিগার করা
app.UseRouting(); // রাউটিং সিস্টেম চালু করবে
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
উপরের কোডে, MapControllerRoute
মেথড দিয়ে রাউটিং প্যাটার্নটি কনফিগার করা হয়েছে। এখানে {controller=Home}
মানে HomeController
ডিফল্ট কন্ট্রোলার হবে, {action=Index}
মানে Index
অ্যাকশন মেথড ডিফল্ট হবে, এবং {id?}
হলো একটি অপশনাল প্যারামিটার।
ASP.Net Core এ রাউটিং প্যাটার্ন সাধারণত URL প্যাটার্নের মাধ্যমে নির্ধারণ করা হয়। রাউটিং প্যাটার্নের জন্য কিছু সাধারণ টেমপ্লেট নীচে দেওয়া হল:
{controller}
: URL-এ কন্ট্রোলারের নাম।{action}
: URL-এ একশন মেথডের নাম।{id?}
: একটি অপশনাল প্যারামিটার (যদি প্রযোজ্য হয়)।উদাহরণস্বরূপ, যদি আমরা MapControllerRoute
ব্যবহার করি:
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
এই রাউটিং প্যাটার্নটি নির্দেশ করে যে, যদি URL এর মধ্যে কোনো কন্ট্রোলার বা অ্যাকশন নাম উল্লেখ না থাকে, তাহলে ডিফল্টভাবে HomeController
এর Index
অ্যাকশনটি কল হবে। যদি id
প্যারামিটার দেওয়া থাকে, তবে সেটি ঐ অ্যাকশনে পাস হবে।
ASP.Net Core এ আপনি Attribute Routing ব্যবহার করে URL এর সাথে কন্ট্রোলার এবং অ্যাকশন মেথড নির্দিষ্ট করতে পারেন। এর মাধ্যমে আপনি প্রতিটি কন্ট্রোলার এবং একশন মেথডে রাউটিং প্যাটার্ন নির্ধারণ করতে পারেন।
Attribute Routing উদাহরণ:
[Route("home")]
public class HomeController : Controller
{
[Route("")]
public IActionResult Index()
{
return View();
}
[Route("about")]
public IActionResult About()
{
return View();
}
}
এখানে HomeController
এর Index
অ্যাকশনটি /home
পাথের মাধ্যমে এক্সেস হবে এবং About
অ্যাকশনটি /home/about
পাথের মাধ্যমে এক্সেস হবে।
ASP.Net Core রাউটিং প্যাটার্নে কনস্ট্রেইন্টস ব্যবহার করে URL প্যারামিটার গুলোর বৈধতা যাচাই করা সম্ভব। যেমন, আপনি id
প্যারামিটারের জন্য নির্দিষ্ট করতে পারেন যে তা একটি সংখ্যা হতে হবে।
Route Constraints উদাহরণ:
[Route("product/{id:int}")]
public IActionResult ProductDetails(int id)
{
return View();
}
এখানে {id:int}
কনস্ট্রেইন্টটি নির্দেশ করে যে id
প্যারামিটারটি শুধুমাত্র পূর্ণসংখ্যা হতে হবে। যদি প্যারামিটারটি অন্য ধরনের হয়, তবে রিকোয়েস্টটি ব্যর্থ হবে এবং 404 Not Found
ত্রুটি দেখাবে।
একই কন্ট্রোলার বা একশন মেথডের জন্য একাধিক রাউটিং প্যাটার্ন নির্ধারণ করা যেতে পারে।
Multiple Routes উদাহরণ:
[Route("product")]
[Route("item")]
public IActionResult ProductDetails()
{
return View();
}
এখানে ProductDetails
একশনটি /product
এবং /item
উভয় রাউটে এক্সেস করা যাবে।
ASP.Net Core এ রাউটিং কনফিগার করা একটি সহজ প্রক্রিয়া। আপনি সাধারণভাবে Configure
মেথডে UseRouting
এবং UseEndpoints
ব্যবহার করে রাউটিং প্যাটার্ন সেট করতে পারেন। এছাড়া Attribute Routing, Route Constraints, এবং Multiple Routes এর মতো ফিচারগুলো ব্যবহার করে আরো উন্নত রাউটিং কনফিগারেশন করা সম্ভব। এই কনফিগারেশনগুলো আপনার অ্যাপ্লিকেশনকে আরও ইউজার-ফ্রেন্ডলি এবং সুগম করে তোলে।
common.read_more