ওয়েব API অ্যাকশন পদ্ধতিতে নিম্নলিখিত ধরনের রিটার্ন থাকতে পারে।
-
অকার্যকর
-
আদিম প্রকার/জটিল প্রকার
-
HttpResponseMessage
-
IHttpAction Result
অকার্যকর −
এটা প্রয়োজনীয় নয় যে সমস্ত কর্ম পদ্ধতি কিছু ফেরত দিতে হবে। এটা ভয়েড রিটার্ন টাইপ থাকতে পারে।
উদাহরণ
using DemoWebApplication.Models using System.Web.Http; namespace DemoWebApplication.Controllers{ public class DemoController : ApiController{ public void Get([FromBody] Student student){ //Some Operation } } }
অকার্যকর রিটার্ন টাইপ সহ কর্ম পদ্ধতি 204 কোন বিষয়বস্তু নেই ফিরে আসবে প্রতিক্রিয়া।
আদিম প্রকার/জটিল প্রকার −
অ্যাকশন পদ্ধতি আদিম প্রকার যেমন int, স্ট্রিং বা তালিকা ইত্যাদির মতো জটিল প্রকার ফেরত দিতে পারে।
উদাহরণ
using DemoWebApplication.Models; using System.Collections.Generic; using System.Web.Http; namespace DemoWebApplication.Controllers{ public class DemoController : ApiController{ public List<string> Get([FromBody] Student student){ return new List<string>{ $"The Id of the Student is {student.Id}", $"The Name of the Student is {student.Name}" }; } } }
HttpResponseMessage −
উদাহরণ
HttpResponseMessage ব্যবহার করা হয় যখন আমরা একটি কর্ম পদ্ধতির রিটার্ন টাইপ (অ্যাকশন ফলাফল) কাস্টমাইজ করতে চাই। HttpResponseMessage-এ ফেরত দেওয়ার জন্য স্ট্যাটাস কোড, বিষয়বস্তুর ধরন এবং ডেটা প্রদান করে প্রতিক্রিয়াগুলি কাস্টমাইজ করা হয়।
using DemoWebApplication.Models; using System.Net; using System.Net.Http; using System.Web.Http; namespace DemoWebApplication.Controllers{ public class DemoController : ApiController{ public HttpResponseMessage Get([FromBody] Student student){ if(student.Id > 0){ return Request.CreateResponse(HttpStatusCode.OK, $"The Sudent Id is {student.Id} and Name is {student.Name}"); } else { return Request.CreateResponse(HttpStatusCode.BadRequest, $"InValid Student Id"); } } } }
উপরের উদাহরণে আমরা দেখতে পাচ্ছি যে প্রতিক্রিয়াটি কাস্টমাইজ করা হয়েছে। যেহেতু অ্যাকশন পদ্ধতিতে পাঠানো আইডিটি 0, অন্যটি কার্যকর করা হয় এবং প্রদত্ত ত্রুটি বার্তা সহ 400টি খারাপ অনুরোধ ফেরত দেওয়া হয়৷
IHttpActionResult −
উদাহরণ
IHttpActionResult ইন্টারফেসটি ওয়েব API 2-এ চালু করা হয়েছিল। মূলত, এটি একটি HttpResponseMessage কারখানাকে সংজ্ঞায়িত করে। IHttpActionResult বর্তমান System.Web.Http নামস্থানে। HttpResponseMessage এর উপর IHttpActionResult ব্যবহার করার সুবিধাগুলি নিম্নরূপ।
-
আপনার কন্ট্রোলারের ইউনিট পরীক্ষা করা সহজ করে।
-
এইচটিটিপি প্রতিক্রিয়াগুলিকে আলাদা ক্লাসে তৈরি করার জন্য সাধারণ যুক্তি নিয়ে যায়৷
-
প্রতিক্রিয়া তৈরি করার নিম্ন-স্তরের বিবরণ লুকিয়ে, কন্ট্রোলার অ্যাকশনের অভিপ্রায়কে আরও পরিষ্কার করে।
উদাহরণ
using DemoWebApplication.Models; using System.Collections.Generic; using System.Web.Http; namespace DemoWebApplication.Controllers{ public class DemoController : ApiController{ public IHttpActionResult Get([FromBody] Student student){ var result = new List<string>{ $"The Id of the Student is {student.Id}", $"The Name of the Student is {student.Name}" }; return Ok(result); } } }