У меня довольно простой класс WebAPI, который возвращает JSON для моих . Получите методов. Мой Сообщение метод:Почему я получаю нулевое значение из метода Post на веб-контроллере API?
// POST: api/Diff
public void Post([FromBody]string value)
{
System.Diagnostics.Debug.WriteLine(value);
}
и я звоню оба метода из консольного приложения:
using (var client = new HttpClient())
{
// New code:
client.BaseAddress = new Uri("http://localhost:50541/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// New code:
HttpResponseMessage response = await client.GetAsync("api/diff/1");
if (response.IsSuccessStatusCode)
{
var diff = await response.Content.ReadAsAsync<Diff>();
Console.WriteLine("{0}\t${1}", diff.Text, diff.Revision);
}
var blah = new Diff() { Text = "Gizmo", Revision = 999};
response = await client.PostAsJsonAsync("api/diff", blah);
В Получить вызов работы. Я проверил в отладчике, что до метода PostAsJson обращается, что blah не имеет значения. Однако в отладчике по методу post API значение равно null.