HTTP Verb-গুলো আমাদের "uniform interface" কনস্ট্রেইন্টের একটি বড় অংশ গঠন করে এবং noun-ভিত্তিক রিসোর্সের একশন কাউন্টারপার্ট হিসেবে কাজ করে। প্রাইমারি বা সবচেয়ে বেশি ব্যবহৃত HTTP Verb-গুলো (বা মেথড, যেন সঠিকভাবে বলা হয়) হলো POST, GET, PUT, PATCH, এবং DELETE। এগুলো যথাক্রমে Create, Read, Update, এবং Delete (অথবা CRUD) অপারেশনের সাথে মিলে যায়। অন্যান্য কিছু Verb ও আছে, কিন্তু সেগুলো কম ব্যবহৃত হয়। কম ব্যবহৃত মেথডগুলোর মধ্যে OPTIONS এবং HEAD আরও বেশি ব্যবহৃত হয়।
একশন মেথডের নাম HTTP Verb-র মতো হতে পারে যেমন Get, Post, Put, Patch বা Delete। তবে, আরও রিডেবিলিটির জন্য HTTP Verb-এর সাথে যেকোনো সাফিক্স যুক্ত করা যায়। উদাহরণস্বরূপ, Get মেথডটি `GetAllStudents()` বা Get দিয়ে শুরু হওয়া যেকোনো নাম হতে পারে।
উদাহরণ: HTTP Verb অনুযায়ী মেথড নামকরণ
public class DemoController : ApiController
{
public IHttpActionResult GetAllStudents()
{
// Retrieves students data
return Ok();
}
public IHttpActionResult Post([FromBody]Student student)
{
// Insert student data
return Ok();
}
public IHttpActionResult Put([FromBody]Student student)
{
// Update student data
return Ok();
}
public IHttpActionResult Delete(int id)
{
// Delete student data
return Ok();
}
}
একশন মেথডের HTTP Verb ডিফাইন করার অন্য একটি পদ্ধতি হলো Http Verb Attribute ব্যবহার করা। এতে আমরা সহজেই একটি ASP.NET Web API মেথডকে নির্দিষ্ট HTTP মেথড দিয়ে কল করার জন্য সীমাবদ্ধ করতে পারি।
HttpGet Attribute ব্যবহার করে উদাহরণ
using DemoWebApplication.Models;
using System.Collections.Generic;
using System.Web.Http;
namespace DemoWebApplication.Controllers
{
public class DemoController : ApiController
{
[HttpGet] // HttpVerb Attribute
public IHttpActionResult FetchStudentsList()
{
List students = new List
{
new Student { Id = 1, Name = "Mark" },
new Student { Id = 2, Name = "John" }
};
return Ok(students);
}
}
}

এখন উপরের একশন মেথডকে POST রিকোয়েস্ট দিয়ে অ্যাক্সেস করার চেষ্টা করুন।

আমরা দেখতে পাচ্ছি যে, `FetchStudentsList` একশন মেথডে POST রিকোয়েস্ট পাঠালে 405 Method Not Allowed রেসপন্স আসছে কারণ এটিতে `[HttpGet]` অ্যাট্রিবিউট দিয়ে ডেকোরেট করা হয়েছে।