Я разрабатываю приложение Blazor, которое использует REST API, и я использую метод PostJsonAsyn c (имеет тип возврата void):
public async Task CreateUnit(UnitEntity unit)
{
try
{
await _http.PostJsonAsync("api/units", unit);
}
catch(Exception e)
{
throw;
}
}
В моем контроллере я могу поймать исключение, которое включает сообщение, которое я хочу вернуть через вызов:
[HttpPost]
public void CreateUnit(UnitEntity unit)
{
try
{
_unitDalc.CreateUnit(unit);
_unitVersionDalc.CreateUnitVersion(unit);
}
catch(Exception e)
{
throw;
}
}
Если метод в контроллере выдает исключение (все исключения имеют подробные описания), он не может вернуть его или включить в любое ответное сообщение.
TL; DR Я хочу, чтобы метод PostJsonAsyn c возвращал пользовательское сообщение в случае сбоя. На данный момент это либо 200 OK, либо 500 Ошибка сервера без подробностей.