बाइंडिंग एक प्रक्रिया है जिसमें Web API कंट्रोलर एक्शन मेथड को कॉल करते समय पैरामीटर्स के लिए मान सेट किए जाते हैं।
Web API में पैरामीटर बाइंडिंग कैसे काम करती है
Web API मेथड्स विभिन्न प्रकार के पैरामीटर्स स्वीकार करते हैं और बाइंडिंग प्रक्रिया को कस्टमाइज़ किया जा सकता है:
- सिंपल टाइप्स (int, bool, double, string, DateTime, GUID आदि): Web API मान URI से प्राप्त करने का प्रयास करता है - या तो रूट डेटा से या क्वेरी स्ट्रिंग से।
- कॉम्प्लेक्स टाइप्स (Customer, Employee, Student आदि): Web API फ्रेमवर्क मान रिक्वेस्ट बॉडी से प्राप्त करने का प्रयास करता है।
डिफ़ॉल्ट व्यवहार बदलना: [FromBody] और [FromUri] एट्रिब्यूट्स
[FromUri] एट्रिब्यूट
कॉम्प्लेक्स टाइप को URI (क्वेरी स्ट्रिंग) से पढ़ने के लिए बाध्य करता है।
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) { ... }
महत्वपूर्ण बिंदु
- .NET प्रिमिटिव टाइप्स (double, DateTime, GUID, string) और कोई भी टाइप जिसे स्ट्रिंग से कन्वर्ट किया जा सकता है, डिफ़ॉल्ट रूप से URI से बाइंड होते हैं।
- कॉम्प्लेक्स टाइप्स डिफ़ॉल्ट रूप से रिक्वेस्ट बॉडी से बाइंड होते हैं।
- मीडिया-टाइप फॉर्मेटर रिक्वेस्ट बॉडी से मान पढ़ने के लिए उपयोग किए जाते हैं।