কম্পিউটার টিউটোরিয়াল

C# ASP.NET WebAPI-তে নির্দিষ্ট HTTP Verb-এ মেথড অ্যাক্সেস সীমাবদ্ধ কীভাবে করবেন?

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);
        }
    }
}

C# ASP.NET WebAPI-তে নির্দিষ্ট HTTP Verb-এ মেথড অ্যাক্সেস সীমাবদ্ধ কীভাবে করবেন?

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

C# ASP.NET WebAPI-তে নির্দিষ্ট HTTP Verb-এ মেথড অ্যাক্সেস সীমাবদ্ধ কীভাবে করবেন?

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

  1. C# ASP.NET WebAPI-তে নির্দিষ্ট HTTP Verb-এ মেথড অ্যাক্সেস সীমাবদ্ধ কীভাবে করবেন?

  2. C# ASP.NET WebAPI-তে CORS সমস্যা সমাধান কীভাবে করবেন?

  3. Selenium WebDriver জাভায় নির্দিষ্ট উইন্ডো ক্লোজ করা

  4. Windows 10-এ ড্রাইভ অ্যাক্সেস রেস্ট্রিক্ট করুন