हो रहा है मैं HttpClient का उपयोग कर वेब एपीआई में पोस्ट करने का प्रयास कर रहा हूं। जब मैं वेब एपीआई की सेव विधि में ब्रेकपॉइंट डालता हूं तो [FromBody] उत्पाद शून्य है। इसका मतलब यह है कि जिस तरह से मैं वेब एपीआई पर उत्पाद पोस्ट कर रहा हूं, उससे कुछ गलत है। क्या कोई नीचे दिए गए कोड को देख सकता है और देख सकता है कि मैं कहां गलत हो रहा हूं। मुझे लगता है कि यह हेडर और सामग्री प्रकारों के साथ कुछ करना है।एचटीपी क्लाइंट और वेब एपीआई विधि का उपयोग कर एक वेब एपीआई में पोस्ट करना [FromBody] पैरामीटर शून्य
वेब एपीआई के लिए एक ग्राहक रिपोजिटरी से पोस्ट कॉल जो उत्पाद पास करना चाहिए JSON के रूप में के माध्यम से आपत्ति:
public async Task<Product> SaveProduct(Product product)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:99999/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
StringContent content = new StringContent(JsonConvert.SerializeObject(product));
// HTTP POST
HttpResponseMessage response = await client.PostAsync("api/products/save", content);
if (response.IsSuccessStatusCode)
{
string data = await response.Content.ReadAsStringAsync();
product = JsonConvert.DeserializeObject<Product>(data);
}
}
return product;
}
वेब एपीआई नियंत्रक विधि:
[HttpPost]
[Route("save")]
public IActionResult Save([FromBody]Product product)
{
if (customer == null)
{
return HttpBadRequest();
}
_manager.SaveCustomer(product);
return CreatedAtRoute("Get", new { controller = "Product", id = product.Id }, product);
}
[FromBody] उत्पाद उत्पाद पैरामीटर शून्य होने के समाप्त होता है।
मैं एक बयान का उपयोग करके देख https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/ में HttpClient लपेटकर नहीं की सिफारिश करेंगे – Xander