Ошибки при вызове API

Когда вызов API не проходит, сервер отвечает кодом статуса. По нему сразу понятно, на чьей стороне проблема — вашей или сервера.

Общее про работу с API — в разделе про вызовы REST API.

Коды на стороне клиента

Эти ошибки означают, что запрос сформирован неверно.

  • 400 — Bad Request

    Сервер не понял запрос. Обычно виноваты неверные параметры или недостающие поля в теле запроса.

    совет

    Сверьтесь с документацией конкретного API: какие поля и заголовки он ждёт.

    Пример ответа 400

  • 401 — Unauthorized

    Запрос ушёл без аутентификации. Проверьте, зарегистрированы ли вы в этом сервисе и передаётся ли ключ API в заголовке.

    Пример ответа 401

  • 403 — Forbidden

    Вы аутентифицированы, но доступа к этому ресурсу нет. Либо ключ не тот, либо возможность не входит в ваш тариф.

    Пример ответа 403

  • 404 — Not Found

    По такому адресу на сервере ничего нет. Опечатка в URL или изменившийся эндпоинт.

    совет

    Прежде чем копать глубже, ещё раз перечитайте адрес запроса.

    Пример ответа 404

  • 407 — Proxy Authentication Required

    Нет аутентификации на прокси-сервере. Встречается в сетях с ограничениями.

  • 422 — Unprocessable Entity

    Запрос корректен по форме, но обработать его нельзя — скажем, в latlng забыта запятая.

  • 429 — Too Many Requests

    Превышен лимит частоты запросов. Ограничьте частоту вызовов или посмотрите на условия тарифа.

    совет

    Проверьте лимиты своего тарифа и подумайте, как реже дёргать API из приложения.

Коды на стороне сервера

  • 500 — Internal Server Error

    На сервере что-то упало. Проверьте свой запрос и посмотрите, нет ли известных проблем в документации API.

  • 501 — Not Implemented

    Сервер не поддерживает использованный HTTP-метод. Посмотрите в документации, какие методы допустимы.

  • 502 — Bad Gateway

    Промежуточный сервер получил некорректный ответ от вышестоящего. Обычно временно и лечится на стороне провайдера API.

  • 503 — Service Unavailable

    Сервер перегружен или на обслуживании. Остаётся подождать.

  • 504 — Gateway Timeout

    Ответ от вышестоящего сервера не пришёл вовремя: задержки в сети или слишком долгая обработка запроса.

Что делать

  • Очистите кеш и куки браузера. При ошибке 400 иногда мешают устаревшие данные.
  • Перепроверьте адрес. Регистр в доменном имени имеет значение.
  • Пересмотрите параметры запроса. Для 400 — не слишком ли велик файл в POST-запросе, нет ли лишних или неверных параметров.
  • Загляните в документацию API. Требования у всех разные.
  • Напишите в поддержку API. Если ничего не помогло, разбираться придётся вместе с провайдером.
совет

Когда всё настроено верно, вызов возвращает 200 OK.

перевод официальной документации FlutterFlow

обновлено

⌕ ESC