जब वेब एपीआई एक नियंत्रक क्रिया विधि को कॉल करता है तो बाइंडिंग पैरामीटर के लिए मान सेट करने की एक प्रक्रिया है।
विभिन्न प्रकार के मापदंडों के साथ वेब एपीआई विधियाँ और बाध्यकारी प्रक्रिया को कैसे अनुकूलित करें।
यदि पैरामीटर एक साधारण प्रकार है जैसे इंट, बूल, डबल, आदि, वेब एपीआई यूआरआई (या तो रूट डेटा या क्वेरी स्ट्रिंग से) से मान प्राप्त करने का प्रयास करता है
यदि पैरामीटर एक जटिल प्रकार है जैसे ग्राहक, कर्मचारी, आदि, तो वेब APIFramework अनुरोध निकाय से मान प्राप्त करने का प्रयास करता है।
हम पैरामीटर बाइंडिंग प्रक्रिया के इस डिफ़ॉल्ट व्यवहार को [FromBody] और [FromUri] विशेषताओं का उपयोग करके बदल सकते हैं।
उरी से -
यदि पैरामीटर सरल प्रकार का है, तो वेब एपी यूआरआई से मान प्राप्त करने का प्रयास करता है
.NET आदिम प्रकार जैसे डबल, डेटटाइम, GUID स्ट्रिंग किसी भी प्रकार को स्ट्रिंग प्रकार से परिवर्तित किया जा सकता है
उदाहरण
public Student Get(int id){}
शरीर से
यदि परिसर प्रकार का पैरामीटर है, तो वेब एपीआई संदेश निकाय से मूल्यों को बांधने का प्रयास करेगा।
उदाहरण
Public Student Post(Employee employee){}
[FromUri]
यूआरआई से जटिल प्रकार को पढ़ने के लिए वेब एपीआई को बाध्य करने के लिए, [FromUri] विशेषता को पैरामीटर में जोड़ें
Web Api को जटिल प्रकार fromQueryString का मान प्राप्त करने के लिए बाध्य करने के लिए [FromUri] विशेषता का उपयोग करें।
उदाहरण
public Student Get([FromUri] Employee employee) public HttpResponseMessage Get([FromUri] Employee employee) { ... }
[फ्रॉमबॉडी]
डिफ़ॉल्ट मानों के विपरीत, अनुरोध निकाय से आदिम प्रकार का मान प्राप्त करने के लिए [FromBody] विशेषता का उपयोग करें
नहीं, एक ही क्रिया में एकाधिक फॉर्मबॉडी की अनुमति नहीं है।
वेब एपीआई को अनुरोध निकाय से एक साधारण प्रकार को पढ़ने के लिए बाध्य करने के लिए, [FromBody]
. जोड़ेंइस उदाहरण में, वेब एपीआई अनुरोध निकाय से नाम के मूल्य को पढ़ने के लिए मीडिया-प्रकार के फॉर्मेटर का उपयोग करेगा
उदाहरण
public Student Post([FromBody] string name]){...} public HttpResponseMessage Post([FromBody] string name) { ... }