Ресурсы · 33

Развивайте контракты API, не теряя клиентов.

Описывайте запросы, ответы и ошибки; тестируйте версии и делайте веб-хуки безопасными для повторного воспроизведения.

Обновлено · 2 min

Серверные стойки в центре обработки данных Иллюстрация · вымышленная сцена

Чего помогает достичь это руководство

  • Составление контракта
  • Уточнение ошибок
  • Проверка совместимости
  • Планирование вывода из эксплуатации

Быстрая проверка

  • Какие клиенты используют каждую операцию?
  • Имеют ли ошибки стабильные типы и согласованные статусы?
  • Может ли старый клиент перенести изменения?
  • Могут ли повторные попытки дублировать действие?
  • Как будет объявлен и проверен вывод из эксплуатации?

Пошаговый метод

  1. 1

    Потребители инвентаризации

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

    Результат: карта зависимостей контракта.

  2. 2

    Описание запросов и ответов

    Поддерживать описание OpenAPI со схемами, реалистичными примерами, ответами об успехе и неудаче. Проверять его на работающем сервисе.

    Результат: версионированный контракт и тесты на соответствие.

  3. 3

    Стабилизация ошибок

    Использовать HTTP-статусы в соответствии с их семантикой и, где это полезно, с документированным типом проблемы согласно RFC 9457. Не раскрывать секреты в деталях.

    Результат: протестированный каталог ошибок.

  4. 4

    Классифицировать изменения

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

    Результат: матрица совместимости и решение о версии.

  5. 5

    Сделать уведомления надежными

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

    Результат: сценарий воспроизведения и подтверждения.

  6. 6

    Выпуск с возможностью завершения.

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

    Результат: план миграции и подтверждение вывода из эксплуатации.

Показатели управления

ПоказательЧто он измеряетПервое действие
КонтрактОписание операций и соответствие поведению сервисаИсправление расхождений
СовместимостьТестирование репрезентативных клиентов перед внесением измененийДобавление недостающих случаев
ОшибкиДокументированные типы без конфиденциальных данныхПересмотр сообщений и схем
МиграцияИспользование старой версии с владельцемПомощь оставшимся клиентам

Распространенные ошибки

  • Предположение о том, что только номер версии сохраняет совместимость
  • Документирование только 200 ответов
  • Возврат внутренней трассировки или секрета в ошибке
  • Предположение, что веб-хуки приходят один раз и в порядке

Часто задаваемые вопросы

Заменяет ли OpenAPI тестирование?

Нет. Сравните описание с реальными ответами и потребностями потребителей.

Требуется ли новая версия для каждого изменения?

Нет. Принимайте решения, исходя из влияния на клиента и поведения по контракту; для несовместимых изменений необходим четкий план.

Почему опечатки?

Они предоставляют клиентам надежный способ выявления проблем и выбора действий.

Официальные ссылки

Ссылки подтверждают метод. Адаптируйте проверки к вашему контексту; они не являются сертификацией. Оригинальные названия ссылок и исходные документы могут быть на другом языке.