Другое значение при обработке запроса POST в ASP.NET WEB API - PullRequest
0 голосов
/ 26 октября 2018

У меня следующая ситуация, которую я никогда раньше не видел. Я использую приведенный ниже код для объявления действия Post.

[HttpPost]
[Route("")]
public async Task<HttpResponseMessage> Insert(InsertRequest request)
{
     var body = await Request.Content.ReadAsStringAsync();
}

Теперь, когда я отправляю запрос на эту конечную точку, используя Postman с Content-Type = Application / Json, я получаю некоторое значение для запроса и пустую строку для тела.

Если я выполню PostAsJsonAsync с HttpClient для этой конечной точки, я получу нулевое значение для запроса и запрос содержимого для тела.

Как это возможно?

1 Ответ

0 голосов
/ 26 октября 2018

Для поддержки POST необходимо добавить атрибут [FromBody] к параметру запроса.

[HttpPost]
[Route("")]
public async Task<HttpResponseMessage> Insert([FromBody] InsertRequest request)
{
    var body = await Request.Content.ReadAsStringAsync();
}
...