वेब एपीआई क्रिया विधि में निम्नलिखित रिटर्न प्रकार हो सकते हैं।
-
शून्य
-
आदिम प्रकार/जटिल प्रकार
-
HttpResponseMessage
-
IHttpActionResult
शून्य -
यह आवश्यक नहीं है कि सभी क्रिया विधियों को कुछ वापस करना होगा। इसमें शून्य वापसी प्रकार हो सकता है।
उदाहरण
using DemoWebApplication.Models using System.Web.Http; namespace DemoWebApplication.Controllers{ public class DemoController : ApiController{ public void Get([FromBody] Student student){ //Some Operation } } }का उपयोग करना
शून्य वापसी प्रकार वाली क्रिया विधि 204 कोई सामग्री नहीं लौटाएगी प्रतिक्रिया।
आदिम प्रकार/जटिल प्रकार -
क्रिया विधि आदिम प्रकार जैसे int, string या जटिल प्रकार जैसे सूची आदि वापस कर सकती है।
उदाहरण
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 का उपयोग करने के लाभ इस प्रकार हैं।
-
आपके नियंत्रकों की इकाई परीक्षण को सरल बनाता है।
-
HTTP प्रतिक्रियाओं को अलग-अलग वर्गों में बनाने के लिए सामान्य तर्क को स्थानांतरित करता है।
-
प्रतिक्रिया के निर्माण के निम्न-स्तरीय विवरणों को छिपाकर, नियंत्रक कार्रवाई के इरादे को स्पष्ट करता है।
उदाहरण
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); } } }