Как получить значение из тела сообщения веб-api?
Мой ASP.NET основные вызовы Post-API Web API 2.2 не получают ничего от тела. Даже при использовании одного поля в теле значение, считанное в POST, равно null. Как мне решить эту проблему?
Что я уже пробовал:
Это текущий код в контроллере API:
[HttpPost("TestUser")] public async Task<IActionResult> TestUserAsync(string userName) { if (ModelState.IsValid) { return Ok(userName); } else { return BadRequest(); } }
Я также попробовал этот код с [FromBody] на месте (тогда ответ от почтальона становится "недопустимым вводом", и метод не вызывается.
Я звоню ему от почтальона:
"http://localhost:5502/LDH/User/TestUser"
Тип контента-Application/Json, и это необработанная строка, передаваемая в качестве тела:
{"userName" : "testUser"}
Некоторые из моих исследований предполагали, что пользовательское ведение журнала промежуточного программного обеспечения может вызвать его, потребляя поток и не сбрасывая его - я использую log4Net. Я не могу найти ничего о том, как сбросить поток, поэтому не могу исключить этого.
Modelstate действителен и не показывает ничего неправильного