मैं एक WebAPI नियंत्रक पर कई मापदंडों को पोस्ट करने की कोशिश कर रहा हूं। एक परम URL से है, और दूसरा शरीर से है। यहाँ url है:
/offers/40D5E19D-0CD5-4FBD-92F8-43FDBB475333/prices/
यहाँ मेरा नियंत्रक कोड है:
public HttpResponseMessage Put(Guid offerId, OfferPriceParameters offerPriceParameters)
{
//What!?
var ser = new DataContractJsonSerializer(typeof(OfferPriceParameters));
HttpContext.Current.Request.InputStream.Position = 0;
var what = ser.ReadObject(HttpContext.Current.Request.InputStream);
return new HttpResponseMessage(HttpStatusCode.Created);
}
JSON में शरीर की सामग्री है:
{
"Associations":
{
"list": [
{
"FromEntityId":"276774bb-9bd9-4bbd-a7e7-6ed3d69f196f",
"ToEntityId":"ed0d2616-f707-446b-9e40-b77b94fb7d2b",
"Types":
{
"list":[
{
"BillingCommitment":5,
"BillingCycle":5,
"Prices":
{
"list":[
{
"CurrencyId":"274d24c9-7d0b-40ea-a936-e800d74ead53",
"RecurringFee":4,
"SetupFee":5
}]
}
}]
}
}]
}
}
कोई भी विचार क्यों डिफ़ॉल्ट बाइंडिंग offerPriceParametersमेरे नियंत्रक के तर्क के लिए बाध्य करने में सक्षम नहीं है ? यह हमेशा अशक्त करने के लिए सेट है। लेकिन मैं का उपयोग करके शरीर से डेटा को पुनर्प्राप्त करने में सक्षम हूं DataContractJsonSerializer।
मैं भी FromBodyतर्क की विशेषता का उपयोग करने की कोशिश करता हूं , लेकिन यह भी काम नहीं करता है।
