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

C# ASP.NET WebAPI-এ প্যারামিটার বাইন্ডিং কী?

বাইন্ডিং হলো প্রক্রিয়া যা Web API কন্ট্রোলার অ্যাকশন মেথড কল করার সময় প্যারামিটারগুলোর জন্য ভ্যালু সেট করে।

Web API মেথডগুলো বিভিন্ন টাইপের প্যারামিটার সহ থাকে এবং বাইন্ডিং প্রসেস কাস্টমাইজ করার পদ্ধতি।

যদি প্যারামিটারটি একটি সিম্পল টাইপ হয় যেমন int, bool, double, ইত্যাদি, তবে Web API URI থেকে ভ্যালু পেতে চায় (রুট ডেটা থেকে বা কোয়েরি স্ট্রিং থেকে)।

যদি প্যারামিটারটি একটি কমপ্লেক্স টাইপ হয় যেমন Customer, Employee, ইত্যাদি, তবে Web API ফ্রেমওয়ার্ক রিকোয়েস্ট বডি থেকে ভ্যালু পেতে চায়।

আমরা [FromBody] এবং [FromUri] অ্যাট্রিবিউট ব্যবহার করে প্যারামিটার বাইন্ডিং প্রসেসের এই ডিফল্ট বিহেভিয়ার পরিবর্তন করতে পারি।

FromUri

যদি প্যারামিটার সিম্পল টাইপের হয়, তবে Web API URI থেকে ভ্যালু পেতে চায়। .NET প্রিমিটিভ টাইপ যেমন double, DateTime, GUID, string বা যেকোনো টাইপ যা স্ট্রিং থেকে কনভার্ট করা যায়।

উদাহরণ

public Student Get(int id){}

FromBody

যদি প্যারামিটার কমপ্লেক্স টাইপের হয়, তবে Web API মেসেজ বডি থেকে ভ্যালু বাইন্ড করার চেষ্টা করে।

উদাহরণ

public Student Post(Employee employee){}

[FromUri]

Web API-কে বাধ্য করতে চাইলে কমপ্লেক্স টাইপ URI থেকে পড়তে, প্যারামিটারের সাথে [FromUri] অ্যাট্রিবিউট যোগ করুন। কোয়েরি স্ট্রিং থেকে কমপ্লেক্স টাইপের ভ্যালু পেতে [FromUri] অ্যাট্রিবিউট ব্যবহার করুন।

উদাহরণ

public Student Get([FromUri] Employee employee)
public HttpResponseMessage Get([FromUri] Employee employee) { ... }

[FromBody]

প্রিমিটিভ টাইপের ভ্যালু রিকোয়েস্ট বডি থেকে পেতে [FromBody] অ্যাট্রিবিউট ব্যবহার করুন, ডিফল্ট বিহেভিয়ারের বিপরীত।

নোট: একটি একক অ্যাকশনে একাধিক FromBody অ্যালাউড নয়।

Web API-কে বাধ্য করতে চাইলে সিম্পল টাইপ রিকোয়েস্ট বডি থেকে পড়তে, [FromBody] যোগ করুন।

এই উদাহরণে, Web API একটি মিডিয়া-টাইপ ফরম্যাটার ব্যবহার করে রিকোয়েস্ট বডি থেকে name-এর ভ্যালু পড়বে।

উদাহরণ

public Student Post([FromBody] string name){...}
public HttpResponseMessage Post([FromBody] string name) { ... }
  1. C# ASP.NET WebAPI-তে URI দিয়ে Web API ভার্সনিং কীভাবে করবেন?

  2. C# ASP.NET WebAPI-তে ফিল্টারের বিভিন্ন প্রকার কী কী?

  3. C# ASP.NET WebAPI-তে একশন মেথড থেকে কাস্টম রেজাল্ট টাইপ রিটার্ন কীভাবে করবেন?

  4. C# ASP.NET WebAPI-তে কন্ট্রোলার একশনের বিভিন্ন রিটার্ন টাইপ কী কী?