Ответ
REST API обычно используют форматы на основе текста для сериализации данных в теле HTTP-запросов и ответов.
Основные форматы:
-
JSON (JavaScript Object Notation) — де-факто стандарт.
- Почему: Легко читается и для человека, и для машины, компактный, имеет широкую поддержку во всех языках и фреймворках.
- Content-Type:
application/json. - Пример:
{ "id": 123, "name": "John Doe", "active": true }
-
XML (eXtensible Markup Language) — чаще встречается в legacy-системах или специфичных доменах (например, SOAP).
- Content-Type:
application/xmlилиtext/xml. - Пример:
<user> <id>123</id> <name>John Doe</name> <active>true</active> </user>
- Content-Type:
Реже, но также возможны:
- Form Data (
application/x-www-form-urlencoded) — для отправки простых пар ключ-значение, обычно из HTML-форм. - Multipart Form Data (
multipart/form-data) — для отправки бинарных файлов вместе с данными формы. - Текстовые форматы: YAML, Plain Text (
text/plain).
На практике в современных Spring Boot приложениях JSON используется в 95% случаев, а конвертация в объекты Java (и наоборот) автоматически выполняется библиотеками, такими как Jackson.