Как обработать ошибку в Blazor от Web Api

280
26 июля 2021, 12:50

Всем привет! Есть два приложения:

  1. Blazor server side
  2. Web Api(написана давно)

В апишке у меня грубо говоря есть метод

public async Task<object> GetAllAsync(...)
{
   ...
   // Какая то проверка
   throw new Exception("Что то пошло не так");
   ...
}

В клиентском приложении у меня есть метод, который имеет примерный вид такой:

    public async Task GetAllAsync()
    {
            var httpClient = clientFactory.CreateClient();
            var responseMessage = await httpClient.GetAsync($"{address}/api/foo");
            if (responseMessage.IsSuccessStatusCode)
            {
                // Если успешно
            }
            else
            {
                // Как получить сообщение об ошибке здесь?
            }
        }
    }

Вопрос заключается в следущем: как правильно обработать ошибку такого вида от апи?

ps

нашел такой вариант

var exception = await responseMessage.Content.ReadAsAsync<HttpError>();

но HttpError тянет зависимость с .NetFramework 4.6(а изначально использую .net core 3 preview)

Answer 1

Документация говорит, что GetAsync выдает System.Net.Http.HttpRequestException, так что просто можно использовать try/catch.

READ ALSO
Как выделить область в режиме редактирования, на террейне?

Как выделить область в режиме редактирования, на террейне?

Есть террейн, на нём надо выделить область, в которой будут взрывыДопустим у нас область круг, овал, квадрат, прямоугольник или ромб

168
Отсортировать массив между первым и последним отрицательным элементом по возрастанию

Отсортировать массив между первым и последним отрицательным элементом по возрастанию

Столкнулась с проблемой того,что непрвильно определяются отрицательные числаВыводится не только первый и последние отрицательные, но и другие,которые...

210
Загрузка AssetBundles в Unity

Загрузка AssetBundles в Unity

Для загрузки дополнений в игре использую assetbundles, которые лежат на хостингеУ меня на всех моих устройствах все работает отлично, но вот некоторые...

255
Unity появление текста при наведении на кнопку

Unity появление текста при наведении на кнопку

Я делаю специальный интерфейс и добавляю кнопки, мне нужно чтобы при наведении на кнопку в определенном месте показывался мой текстПодскажите...

389