Ответ
REST API для обмена данными между клиентом и сервером чаще всего используют следующие форматы. Конкретный формат указывается в HTTP-заголовке Content-Type.
Основные форматы:
-
JSON (JavaScript Object Notation) — современный стандарт де-факто. Легковесный, легко читается и парсится.
{ "id": 123, "title": "API Response", "items": [1, 2, 3], "active": true }Заголовок:
Content-Type: application/json -
XML (eXtensible Markup Language) — используется в legacy-системах и некоторых специфичных протоколах (например, SOAP). Более многословный, чем JSON.
<response> <id>123</id> <title>API Response</title> <active>true</active> </response>Заголовок:
Content-Type: application/xml -
Form Data (
x-www-form-urlencoded&multipart/form-data) — для отправки данных HTML-форм.multipartиспользуется для загрузки файлов. Заголовок:Content-Type: application/x-www-form-urlencodedилиmultipart/form-data -
Текстовые форматы (Plain Text, HTML, YAML) — используются реже, для специфичных задач (например, YAML для конфигураций, HTML для веб-страниц).
Практический совет: При тестировании API всегда проверяйте, что сервер корректно обрабатывает заявленный Content-Type и возвращает корректный Content-Type в ответе (например, application/json).
Ответ 18+ 🔞
А, слушай, вот этот твой REST API, он же, блядь, не просто так данные туда-сюда швыряет! Там же целая ёперная кухня с форматами, и если не угадаешь — сервер тебе такую ошибку вывалит, что мало не покажется. Главное — не забыть в заголовке Content-Type ткнуть носом серверу, мол, «смотри, мудак, я тебе вот ЭТО сейчас подсуну».
Ну, поехали, что там у нас в ходу:
-
JSON — это сейчас царь и бог, де-факто стандарт, его везде суют. Лёгкий, читаемый, прям как для людей. Вся эта ваша модная фронтендовая хуйня его обожает.
{ "id": 123, "title": "API Response", "items": [1, 2, 3], "active": true }А чтобы сервер не обосрался, кричи ему в ухо:
Content-Type: application/json. Мол, «прими, сука, объектик». -
XML — это такой старый пердун, из прошлой эры. Многословный, как пьяный дед на лавочке, тэгов дохуя. Но в каких-то древних конторах или в этих ваших SOAP-сервисах до сих пор живёт, блядь.
<response> <id>123</id> <title>API Response</title> <active>true</active> </response>Тут уже орёшь:
Content-Type: application/xml. А то он подумает, что это JSON, и сломается, пидарас. -
Form Data — это когда тебе надо эмулировать, будто ты форму на сайте отправил. Два варианта:
x-www-form-urlencoded— для обычных полей, типа «логин=вася&пароль=123».multipart/form-data— вот это уже серьёзно, когда файлы цепляешь. Картинку какую-нибудь или документ. Без этого — никуда. Заголовок, соответственно, подбираешь, как ключ к замку.
-
Просто текст (и другие) — ну, это уже на любителя. YAML, HTML, plain text. Для каких-то узких, ебученьких задач. Но в целом, если не уверен — не выёбывайся, юзай JSON.
И главный практический совет, на всю голову: Когда тестируешь эту всю хуйню, смотри в оба за этими Content-Type! Что отправил, что получил в ответ. А то бывает, отправишь JSON, а сервер тебе в ответ, сука, HTML с ошибкой плюнет, да ещё и с Content-Type: text/html. И сиди потом, гадай, почему твой парсер JSON'а охуел и сломался. Всё должно совпадать, как яйца у гуся!