पर शून्य पैरामीटर उत्पन्न करने के लिए एप्लिकेशन/जेसन को शरीर में प्रीपेन्ड करता है मेरे पास एक वेब एपीआई सेवा है जिसे मैं RestSharp का उपयोग कर कंसोल के माध्यम से एक्सेस करने का प्रयास कर रहा हूं। मेरा RestSharp कोड इस तरह दिखता है:RestSharp के साथ वेब एपीआई कॉल - एक्शन
RestClient client = new RestClient(baseUrlString);
RestRequest request = new RestRequest("controllername/actionname");
request.RequestFormat = DataFormat.Json;
ProcessQuestion model = new ProcessQuestion()
{
Id = "123456",
InstanceId = "123",
UniqueId = "bfb16a18-d0d6-46ab-a5b3-2f0ebbfe8626",
PostedAnswer = new Dictionary<string, string>() { { "question_7907_1", "selected" }, { "question_7907_2", "selected" } }
};
request.AddBody(model);
var response = client.Execute(request)
मेरी वेब एपीआई कार्रवाई एक मॉडल लेती है जिसमें उपरोक्त मॉडल के समान पैरामीटर होते हैं। जब कॉल निष्पादित होता है, बाध्यकारी विफल रहता है और पैरामीटर शून्य है।
{application/json={"Id":"123456","InstanceId":"123","UniqueId":"bfb16a18-d0d6-46ab-a5b3-2f0ebbfe8626","PostedAnswer":{"question_7907_1":"selected","question_7907_2":"selected"}}}
मैं फ़िडलर का उपयोग कर पोस्ट करते हैं तो शरीर को ठीक से मॉडल को बांधता है: जैसा कि नीचे दिखाया मुझे लगता है इस RestRequest.AddBody विधि prepending आवेदन/json शरीर मूल्य के लिए की वजह से है।
{'Id':'123456','InstanceId':'123','Uniqueid':'bfb16a18-d0d6-46ab-a5b3-2f0ebbfe8626','PostedAnswer':{'question_7907_1':'selected','question_7907_2':'selected'}}
ध्यान दें कि Fiddler में शरीर मूल्य आवेदन/json कुंजी prepending के अपवाद के साथ एक ही है: नीचे शरीर मूल्य मैं फ़िडलर में प्रदान की जाती है।
यह भी ध्यान दें: मैंने कोशिश की है कि सबकुछ कैसा लगता है ... मैंने पैरामीटर को अलग किया है, बॉडी और फ्रॉम यूरी फीचर्स का इस्तेमाल किया है, कस्टम डिक्शनरी मॉडेलबिन्डर की कोशिश की है, कस्टम वैल्यूबिंडर्स ने कोशिश की है, जिस तरह से मैं ' मैं RestSharp का उपयोग कर रहा हूं (एक अनुरोधबॉडी पैरामीटर के साथ AddParameter, AddObject, विभिन्न यूआरएल शैलियों, आदि)।
क्या किसी और को इसका सामना करना पड़ा है, और यदि हां, तो क्या आपने इसे हल किया? मैंने इस सेवा के लिए वेब एपीआई चुना है उम्मीद है कि मॉडल बाध्यकारी एमवीसी में काम करेगा, लेकिन मुझे लगता है कि यह मामला नहीं है।
धन्यवाद
संपादित करें (हल हो गई): RestSharp स्वचालित रूप से AddBody विधि में पारित वस्तुओं के लिए JsonSerializer उपयोग करता है। मुझे लगा कि मैं कुछ आसान याद कर रहा था, और वास्तव में मैं था ... विधि जोड़ना। RestRequest त्वरण के लिए पोस्ट पैरामीटर समस्या हल।
RestSharp स्वचालित रूप से AddBody विधि में पारित वस्तुओं के लिए JsonSerializer उपयोग करता है। मुझे लगा कि मैं कुछ आसान याद कर रहा था, और वास्तव में मैं था ... विधि जोड़ना। RestRequest त्वरण के लिए पोस्ट पैरामीटर समस्या हल। धन्यवाद। –