Интерфейс IActionResult<T>
- лучшая практика для ответа клиенту.
Поэтому измените код следующим образом:
[HttpPost]
[Route("PostWithValue")]
public async Task<IActionResult> PostWithValue()
{
var result = await OneTaskWithReturnValue();
return Ok(result);
}
public async Task<bool> OneTaskWithReturnValue()
{
await Task.Delay(100);
return true;
}
Кроме того, остерегайтесь async void (Task without <T>)
, то есть плохая идея, потому что у вас есть проблемы с обработкой исключений:
В двух словах:
[HttpPost]
[Route("PostWithValue")]
public async Task<IActionResult> PostWithValue()
{
var result = await OneTaskWithReturnValue();
if (!result)
{
return BadRequest("Message for Error");
}
return Ok("Message for OK Status");
}
public async Task<bool> OneTaskWithReturnValue()
{
await Task.Delay(100);
// Do you task
return true;
}