Из каких основных компонентов состоит структура API?

«Из каких основных компонентов состоит структура API?» — вопрос из категории API тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Структура API (Application Programming Interface) состоит из следующих ключевых компонентов, которые определяют взаимодействие между клиентом и сервером:

  1. Эндпоинты (Endpoints) — URL-адреса, определяющие путь к ресурсу (например, /users или /orders/{id}).
  2. Методы HTTP — операции, выполняемые над ресурсами: GET (получить), POST (создать), PUT/PATCH (обновить), DELETE (удалить).
  3. Заголовки (Headers) — метаданные запроса и ответа, например:
    • Content-Type: application/json — формат передаваемых данных.
    • Authorization: Bearer <token> — данные для аутентификации.
  4. Параметры — данные, передаваемые в запросе:
    • Query-параметры: в URL после ? (/users?active=true).
    • Path-параметры: часть пути (/users/123).
    • Параметры тела запроса (Body).
  5. Тело запроса (Request Body) — данные, отправляемые клиентом в методах POST, PUT, PATCH (обычно в формате JSON или XML).
  6. Коды состояния HTTP (Status Codes) — числовые индикаторы результата запроса:
    • 2xx — Успех (например, 200 OK, 201 Created).
    • 4xx — Ошибка клиента (например, 400 Bad Request, 404 Not Found).
    • 5xx — Ошибка сервера (например, 500 Internal Server Error).
  7. Тело ответа (Response Body) — данные, возвращаемые сервером (чаще всего JSON).

Пример HTTP-запроса к API:

GET /api/v1/users/42 HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...