Что входит в тело запроса (Request Body) в REST API и когда оно используется?

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

Ответ

Тело запроса (Request Body) в REST API — это часть HTTP-запроса, которая содержит данные, отправляемые клиентом на сервер для обработки.

Ключевые характеристики:

  • Назначение: Передача данных, необходимых для создания или обновления ресурса (например, JSON-объект нового пользователя).
  • Используется в методах: POST (создание), PUT/PATCH (полное/частичное обновление), иногда DELETE (если для удаления нужны дополнительные параметры).
  • Не используется в: GET, HEAD, OPTIONS (данные передаются через URL-параметры или заголовки).
  • Формат: Определяется заголовком Content-Type. Наиболее распространен application/json.

Примеры тел запросов:

  1. JSON (Content-Type: application/json) — самый частый вариант:

    {
      "title": "Новая задача",
      "completed": false,
      "assigneeId": 45
    }
  2. Form Data (Content-Type: application/x-www-form-urlencoded) — как в HTML-формах:

    title=Новая+задача&completed=false&assigneeId=45
  3. Multipart Form Data (Content-Type: multipart/form-data) — для отправки файлов вместе с данными.

Почему важен заголовок Content-Type? Сервер использует его, чтобы правильно распарсить (интерпретировать) полученные данные. Указание неверного типа — частая причина ошибок 400 Bad Request.