Метод Ok
*1003* имеет две перегрузки: Ok()
и Ok(object)
Общей перегрузки c нет, поэтому вы получаете Ваше сообщение об ошибке.
В качестве примечания: хотя для этой упрощенной версии вполне нормально вернуть Task<bool>
, более реалистичный сценарий c состоит в том, что метод имеет более один путь к коду или, по крайней мере, более одного ожидаемого вывода (например, он может вернуть 404 или 500 кодов состояния http - для не найденных / внутренних ошибок сервера).
В этих случаях вы хотите вернуть Task<ActionResult<T>>
. Таким образом, при использовании таких инструментов, как swagger, для автоматической генерации кода клиента вы получите более подходящий клиент для вашего API.
Обновление
Ваш await
неуместен .
Кроме того, если вы хотите вернуть bool
, тогда ваш другой метод async
должен вернуть Task<bool>
.
Попробуйте выполнить следующее:
[HttpPost]
public async Task<ActionResult<bool>> Post()
{
var result = await SomeTask();
return Ok(result);
}
private async Task<bool> SomeTask()
{
//some database insert operation
throw new NotImplementedException();
}