Каковы лучшие практики обработки ответов на ошибки API?

Лучше всего обрабатывать такие ошибки API с помощью try и catch или ответ API должен быть похож на вызов API Google, Facebook и Microsoft

enter image description here

Пример вызова API Google

Пример вызова API Facebook

Пример вызова API Microsoft

Как правило, не существует такого понятия, как стандартный API, поэтому не существует и лучшей практики как таковой. Если вы имеете дело с несколькими API в своем приложении, то в итоге у вас будет как минимум несколько вариантов того, что вы проверяете и как адаптируете.

В зависимости от того, насколько терминальным является сбой и где он происходит в их стеке обработки, может быть установлен статус HTTP, а также вы можете получить HTML, JSON или XML тело с более подробной информацией (независимо от того, что вы думали получить).

API также случайным образом выходят из строя при преходящих ошибках, поэтому для надежной работы вашего кода вам, вероятно, понадобится цикл повторной попытки.

Они также дросселируют, поэтому поможет какой-то обработчик обнаружения/отката/повтора (детали зависят от API, как всегда).

Псевдокод:

retry loop {
   request
   check connection (network errors)
   check HTTP status code
   check body
   parse body if valid and extract errors
   if terminal failure exit (authentication/authorisation etc)
   if throttling backoff
}
Вернуться на верх