Может ли REST API использовать XML вместо JSON?

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

Ответ

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

Почему JSON популярнее?

  • Лёгкость: JSON менее многословен и проще для чтения.
  • Интеграция с JavaScript: Идеально подходит для веб-приложений.
  • Скорость обработки: Обычно парсится быстрее.

Пример запроса с XML:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/xml

<user>
  <name>John Doe</name>
  <email>john@example.com</email>
</user>

Пример ответа:

HTTP/1.1 201 Created
Content-Type: application/xml

<user id="123">
  <name>John Doe</name>
  <email>john@example.com</email>
</user>

Ключевое правило: Всегда явно указывайте Content-Type: application/xml в заголовках.