लिए समर्थित नहीं है मैं इस वर्ग है:वेब एपीआई से 2 JSON पोस्टिंग त्रुटि: अनुरोध इकाई के मीडिया प्रकार 'पाठ/सादे' इस संसाधन
public class MyClass
{
public MyClass() { Secret = "Don't tell me"; }
public string Name { get; set; }
public int Age { get; set; }
public string Description { get; set; }
private string Secret { get; set; }
}
इस वेब एपीआई विधि:
मैंने एक्सएमएल के बजाय जेएसओएन वापस करने के लिए वेब एपीआई सेट की है और मैंने डिफ़ॉल्ट कॉन्फ़िगरेशन में कोई अन्य बदलाव नहीं किया है। मैं फ़ायरफ़ॉक्स के RESTClient एक्सटेंशन के साथ इस विधि का परीक्षण करने की कोशिश कर रहा हूं। यहाँ मेरा अनुरोध है:
POST localhost:XXXX/api/fixture
Content-Type: application/json
Accept: application/json
Content-Length: 60
{
value : { "Name":"Cosby","Age":"13","Description":"OK" }
}
हालांकि मैं यह त्रुटि हो रही है:
{ "message": "। अनुरोध इकाई के मीडिया प्रकार 'पाठ/सादे' इस संसाधन के लिए समर्थित नहीं है" , "अपवाद मैसेज": "मीडिया प्रकार 'टेक्स्ट/सादा' के साथ सामग्री से 'MyClass' प्रकार की वस्तु को पढ़ने के लिए कोई MediaTypeFormatter उपलब्ध नहीं है।", "अपवाद टाइप": "System.Net.Http.UnsupportedMediaTypeException", "StackTrace": "System.Net.Http.HttpContentExtensions.ReadAsAsync [T] (HttpContent सामग्री, प्रकार का प्रकार, IENumerable
1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable
1 स्वरूपक, IFormatterLogger formatterLogger, रद्दीकरण टोकन रद्दीकरण टोकन) \ r \ n System.Web.Http.ModelBind पर ing.FormatterParameterBinding.ReadContentAsync (HttpRequestMessage अनुरोध, प्रकार प्रकार, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken) "}
संपादित करें:
मुझे समझ नहीं आता, क्योंकि ऐसा लगता है कि विधि नहीं है यहां तक कि बुलाया अगर मैं डीबग करता हूं, तो मुझे लगता है कि निर्माता को बुलाया जाता है और फिर कोई अन्य विधि नहीं कहा जाता है। कोई अपवाद नहीं उठाया गया है।
मैं इस मुद्दे पर बहुत समय से रहा हूं। मुझे पता चला है कि यह समस्या आमतौर पर तब होती है जब सामग्री-प्रकार ठीक से सेट नहीं होता है लेकिन यह मेरा मामला प्रतीत नहीं होता है क्योंकि अनुरोध संसाधित नहीं होता है।
कोई विचार?
धन्यवाद
आपको अपने प्रश्न में अपने पोर्ट नंबर को अबाधित करने की आवश्यकता नहीं है। हम नहीं जानते कि 'लोकलहोस्ट' कहां है। वैसे भी, क्या आप सकारात्मक हैं कि आपका पोस्ट उस पोस्ट संदेश के साथ होता है? अपवाद यह ध्वनि बनाता है जैसे आप 'एप्लिकेशन/जेसन' की बजाय' टेक्स्ट/सादे' 'की सामग्री प्रकार पोस्ट कर रहे हैं। – mason