Что вы видите при заходе в Swagger UI (OpenAPI)?

«Что вы видите при заходе в Swagger UI (OpenAPI)?» — вопрос из категории API тестирование, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Swagger UI — это интерактивная документация API, сгенерированная из OpenAPI-спецификации. При открытии страницы я вижу:

1. Верхний уровень (информация об API):

  • Заголовок и версия API.
  • Краткое описание и контактные данные (если указаны в спецификации).
  • Список всех доступных эндпоинтов (путей), сгруппированных по тегам (например, User, Order, Product).

2. Детализация конкретного эндпоинта: При раскрытии любого метода (GET, POST, PUT, DELETE) отображается:

  • Описание операции.
  • Параметры запроса:
    • Path parameters (например, /users/{id}).
    • Query parameters (например, ?limit=10&offset=0).
    • Headers (например, Authorization: Bearer ...).
    • Тело запроса (Request body) для POST/PUT с примером схемы в JSON (обязательные/необязательные поля, типы данных).
  • Возможные ответы сервера (Responses):
    • Коды статусов (200 OK, 400 Bad Request, 401 Unauthorized, 500 Internal Server Error).
    • Схемы ответов для каждого кода с примером тела.

3. Интерактивная панель «Try it out»: Это ключевой инструмент для тестировщика. Позволяет:

  • Заполнить параметры и тело запроса реальными значениями.
  • Отправить живой HTTP-запрос к API.
  • Увидеть полный curl-запрос, который можно скопировать.
  • Получить и проанализировать реальный ответ от сервера: статус-код, заголовки и тело.

Как я это использую в работе:

  1. Первичное знакомство с новым API: изучаю контракты, модели данных.
  2. Ад-хок тестирование и проверка сценариев перед написанием автотестов.
  3. Верификация ответов сервера на корректные и некорректные данные.
  4. Документирование найденных несоответствий между спецификацией в Swagger и реальным поведением бэкенда.