এইচটিটিপি ক্রিয়াগুলি আমাদের "ইউনিফর্ম ইন্টারফেস" সীমাবদ্ধতার একটি প্রধান অংশ নিয়ে গঠিত এবং আমাদের বিশেষ্য-ভিত্তিক সংস্থানের ক্রিয়া প্রতিরূপ প্রদান করে। প্রাথমিক বা সর্বাধিক ব্যবহৃত HTTP ক্রিয়াপদ (বা পদ্ধতিগুলি, যেগুলিকে সঠিকভাবে বলা হয়) হল POST,GET, PUT, PATCH, এবং DELETE৷ এগুলি যথাক্রমে তৈরি, পড়া, আপডেট এবং মুছে ফেলা (বা CRUD) ক্রিয়াকলাপগুলির সাথে সম্পর্কিত। অন্যান্য ক্রিয়াপদও রয়েছে, তবে কম ঘন ঘন ব্যবহার করা হয়। এই কম ঘন ঘন পদ্ধতিগুলির মধ্যে, বিকল্প এবং হেড অন্যদের তুলনায় বেশি ব্যবহৃত হয়৷
অ্যাকশন পদ্ধতির নাম দেওয়া যেতে পারে HTTP ক্রিয়া যেমন Get, Post, Put, Patch বা Delete. যাইহোক, আমরা আরও পাঠযোগ্যতার জন্য HTTP ক্রিয়াগুলির সাথে যেকোনো প্রত্যয় যুক্ত করতে পারি। উদাহরণ, Get মেথড হতে পারে GetAllStudents() বা অন্য কোনো নাম যা গেট দিয়ে শুরু হয়।
উদাহরণ
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 অ্যাট্রিবিউট ব্যবহার করে . আমরা সহজেই একটি নির্দিষ্ট HTTP পদ্ধতি ব্যবহার করে কল করার জন্য একটি ASP.NET ওয়েব API পদ্ধতিতে অ্যাক্সেস সীমাবদ্ধ করতে পারি .
উদাহরণ
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<Student> students = new List<Student>{ new Student{ Id = 1, Name = "Mark" }, new Student{ Id = 2, Name = "John" } }; return Ok(students); } } }
এখন পোস্ট রিকোয়েস্ট ব্যবহার করে উপরের অ্যাকশন পদ্ধতিটি অ্যাক্সেস করার চেষ্টা করা যাক।
আমরা দেখতে পাচ্ছি যে যখন আমরা FetchStudentsList কর্ম পদ্ধতিতে একটি পোস্টের অনুরোধ পাঠাই তখন আমরা 405 পদ্ধতি অনুমোদিত নয় পাচ্ছি প্রতিক্রিয়া যেহেতু এটি [HttpGet] অ্যাট্রিবিউট দিয়ে সজ্জিত।