Какие форматы данных (Data Formats) обычно используются в REST API?

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

Ответ

REST API для обмена данными между клиентом и сервером чаще всего используют следующие форматы. Конкретный формат указывается в HTTP-заголовке Content-Type.

Основные форматы:

  1. JSON (JavaScript Object Notation) — современный стандарт де-факто. Легковесный, легко читается и парсится.

    {
      "id": 123,
      "title": "API Response",
      "items": [1, 2, 3],
      "active": true
    }

    Заголовок: Content-Type: application/json

  2. XML (eXtensible Markup Language) — используется в legacy-системах и некоторых специфичных протоколах (например, SOAP). Более многословный, чем JSON.

    <response>
      <id>123</id>
      <title>API Response</title>
      <active>true</active>
    </response>

    Заголовок: Content-Type: application/xml

  3. Form Data (x-www-form-urlencoded & multipart/form-data) — для отправки данных HTML-форм. multipart используется для загрузки файлов. Заголовок: Content-Type: application/x-www-form-urlencoded или multipart/form-data

  4. Текстовые форматы (Plain Text, HTML, YAML) — используются реже, для специфичных задач (например, YAML для конфигураций, HTML для веб-страниц).

Практический совет: При тестировании API всегда проверяйте, что сервер корректно обрабатывает заявленный Content-Type и возвращает корректный Content-Type в ответе (например, application/json).