Где можно передавать параметры в HTTP-запросе?

«Где можно передавать параметры в HTTP-запросе?» — вопрос из категории API тестирование, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

При тестировании API параметры можно передавать в четырех основных местах HTTP-запроса:

  1. Query Parameters (Параметры строки запроса)

    • Место: Добавляются в URL после знака ? в формате ключ=значение, разделяются &.
    • Назначение: Используются для фильтрации, сортировки, пагинации, обычно в GET-запросах.
    • Пример URL: GET /api/users?role=admin&active=true
  2. Path Parameters (Параметры пути)

    • Место: Являются частью самого пути URL, часто обозначаются фигурными скобками в спецификации.
    • Назначение: Используются для идентификации конкретного ресурса.
    • Пример URL: GET /api/users/{userId}/ordersGET /api/users/123/orders
  3. Request Body (Тело запроса)

    • Место: Отдельная часть запроса, не видимая в URL.
    • Назначение: Для передачи сложных данных при создании (POST) или обновлении (PUT, PATCH) ресурсов.
    • Форматы: JSON (наиболее распространен), XML, x-www-form-urlencoded.
    • Пример (JSON):
      {
      "name": "John Doe",
      "email": "john@example.com"
      }
  4. Headers (Заголовки)

    • Место: Метаданные HTTP-запроса.
    • Назначение: Передача служебной информации: авторизация (Authorization: Bearer <token>), тип контента (Content-Type: application/json), управление кэшем.

С точки зрения тестировщика важно:

  • Проверять валидацию параметров во всех этих местах (корректные, некорректные, граничные значения).
  • Понимать, какой метод (GET, POST и т.д.) с каким местом передачи параметров используется в тестируемом API.
  • Использовать инструменты вроде Postman или код для отправки таких запросов.