Как я могу завернуть HTTP-запрос в успех или неудачу, используя Task?

#c# #asp.net-core

Вопрос:

Я использую HttpRequestMessage и HttpResponseMessage для получения результатов из API. Для обработки ошибок я хотел бы завернуть это в Успех или неудачу. Результаты возвращаются из задания. Каков хороший способ сделать это?

Комментарии:

1. Я думаю, вы ищете Монад. Опция Google монада, Либо монада.

Ответ №1:

Модель HttpResponseMessage имеет свойство IsSuccessStatusCode , которое называется if true , указывает, что HTTP-ответ был успешным (коды состояния 200-299).

Вы можете написать свою собственную оболочку вокруг HttpResponseMessage, но зачем?

В этом случае вам не нужна обертка, если все, что вам нужно, — это способ узнать, был ли ответ успешным или нет.

Ссылка: MSDN — HttpResponseMessage.IsSuccessStatusCode

Комментарии:

1. В каких случаях обертка HttpResponseMessage была бы хорошей практикой или использованием?

2. @JustJ Это может быть хорошей идеей, если вы пишете оболочку абстракции для API, который вам нужно использовать, у которого еще нет SDK — это был бы хороший сценарий для добавления оболочки для обработки отображения, обработки ошибок и т. Д. В этом случае было бы лишним, ненужным кодом написать оболочку для обработки ошибок, надеюсь, это поможет.