এক কন্ট্রোলারের পাবলিক মেথডকে একশন মেথড বলা হয়। চলুন একটি উদাহরণ বিবেচনা করি যেখানে `DemoController` ক্লাস `ApiController` থেকে ডেরাইভড এবং এতে একাধিক একশন মেথড আছে যাদের নাম HTTP Verb-র সাথে মিলে যায় যেমন Get, Post, Put এবং Delete।
উদাহরণ
public class DemoController : ApiController
{
public IHttpActionResult Get()
{
// Some Operation
return Ok();
}
public IHttpActionResult Post([FromUri]int id)
{
// Some Operation
return Ok();
}
public IHttpActionResult Put([FromUri]int id)
{
// Some Operation
return Ok();
}
public IHttpActionResult Delete(int id)
{
// Some Operation
return Ok();
}
}
আসন্ন রিকোয়েস্ট URL এবং HTTP Verb (GET/POST/PUT/PATCH/DELETE) এর উপর ভিত্তি করে Web API সিদ্ধান্ত নেয় কোন Web API কন্ট্রোলার এবং একশন মেথড এক্সিকিউট হবে। যেমন উপরের Web API-তে Get() মেথড HTTP GET রিকোয়েস্ট হ্যান্ডেল করবে, Post() মেথড HTTP POST রিকোয়েস্ট হ্যান্ডেল করবে, ইত্যাদি। তাহলে এখানে Get মেথডের URL হবে `https://localhost:58174/api/demo`।
একশন মেথডের জন্য একটি আলিয়াস নাম দেওয়ার জন্য ActionName অ্যাট্রিবিউট ব্যবহার করা হয়। এছাড়া `WebApiConfig.cs`-এ রাউট টেমপ্লেট পরিবর্তন করা আবশ্যক।

ActionName Attribute ব্যবহার করে উদাহরণ
using DemoWebApplication.Models;
using System.Collections.Generic;
using System.Web.Http;
namespace DemoWebApplication.Controllers
{
public class DemoController : ApiController
{
[ActionName("FetchStudentsList")]
public IHttpActionResult Get()
{
List students = new List
{
new Student { Id = 1, Name = "Mark" },
new Student { Id = 2, Name = "John" }
};
return Ok(students);
}
}
}
এখন Get() মেথডকে FetchStudentsList (আলিয়াস নাম) দিয়ে কল করা যাবে।
