Какие форматы тела запроса (Body) используются в REST API?

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

Ответ

В REST API наиболее распространены форматы JSON и, реже, XML. Выбор формата определяется API-контрактом.

1. JSON (application/json) — современный стандарт де-факто.

  • Преимущества: Легко читается, компактный, отлично поддерживается всеми языками программирования.
  • Пример тела запроса для создания пользователя:
    {
    "user": {
    "name": "John Doe",
    "email": "john@example.com",
    "isActive": true
    }
    }

2. XML (application/xml) — используется в legacy-системах или специфичных доменах.

  • Пример:
    <user>
    <name>John Doe</name>
    <email>john@example.com</email>
    <isActive>true</isActive>
    </user>

3. Другие форматы:

  • x-www-form-urlencoded — для отправки простых пар «ключ=значение», как в HTML-формах.
    • name=John+Doe&email=john%40example.com
  • multipart/form-data — обязателен для загрузки файлов вместе с другими данными.
  • Текстовые (text/plain) или бинарные данные — для специализированных случаев.

При тестировании важно:

  • Проверять, что API корректно принимает и парсит заявленный в документации формат.
  • Валидировать ответ сервера на неверный или поврежденный Content-Type.