একটি কন্ট্রোলারে একটি পাবলিক পদ্ধতিকে একটি অ্যাকশন পদ্ধতি বলা হয়। আসুন একটি উদাহরণ বিবেচনা করি যেখানে ডেমোকন্ট্রোলার ক্লাসটি ApiController থেকে নেওয়া হয়েছে এবং এতে একাধিক অ্যাকশন পদ্ধতি রয়েছে যার নাম Get, Post, Putand Delete এর মতো HTTP ক্রিয়াগুলির সাথে মেলে৷
উদাহরণ
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 verbv (GET/POST/PUT/PATCH/DELETE) এর উপর ভিত্তি করে, Web API সিদ্ধান্ত নেয় কোন ওয়েব API কন্ট্রোলার এবং অ্যাকশন মেথড এক্সিকিউট করতে হবে যেমন Get() পদ্ধতি HTTP GET অনুরোধ পরিচালনা করবে, Post() পদ্ধতি HTTP POST অনুরোধ পরিচালনা করবে, Put() মেথড HTTP PUT অনুরোধ পরিচালনা করবে এবং Delete() পদ্ধতি উপরের ওয়েব API-এর জন্য HTTP DELETE অনুরোধ পরিচালনা করবে। সুতরাং, এখানে Get পদ্ধতির Url হবে https://localhost:58174/api/demo।
ActionName ব্যবহার করে একটি অ্যাকশন পদ্ধতির একটি উপনাম নাম প্রদান করা হয় বৈশিষ্ট্য এছাড়াও WebApiConfig.cs.
-এ রুট টেমপ্লেট পরিবর্তন করা প্রয়োজন
উদাহরণ
using DemoWebApplication.Models; using System.Collections.Generic; using System.Web.Http; namespace DemoWebApplication.Controllers{ public class DemoController : ApiController{ [ActionName("FetchStudentsList")] public IHttpActionResult Get(){ List<Student> students = new List<Student>{ new Studen{ Id = 1, Name = "Mark" }, new Student{ Id = 2, Name = "John" } }; return Ok(students); } } }
এখন আমরা FetchStudentsList দিয়ে Get() পদ্ধতিকে কল করতে পারি (ওরফে নাম)।