Существует ли стандартизированный способ представления http-запроса?
В качестве примера предположим, что я создаю библиотеку сервера и хочу предоставить несколько примеров запросов, которые пользователи библиотеки могут запустить, чтобы убедиться, что они настроили ее правильно.
При использовании curl примеры могут выглядеть примерно так:
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST http://localhost:3000/data
Если бы существовала спецификация, не зависящая от платформы / языка, для представления подобных запросов, это был бы полезный способ для представления таких запросов в коде / разметке, тогда парсеры могли бы генерировать код на языке пользователя и в выбранной им среде. e.g.:
{
"url": "http://localhost:3000/data",
"method": "POST",
"headers": {"key1":"value1","key2":"value2", "Content-Type": "application/json"},
"body": {}
}
, который можно использовать для генерации вышеуказанной команды curl или эквивалентной команды на любом языке программирования.
Теоретически сам запрос curl может быть проанализирован вне curl, но он предназначен для программы CLI, а не для легко разбираемой полезной нагрузки. Самая близкая вещь, с которой я столкнулся, - это формат коллекции почтальонов, который довольно разумен и легко разбирается людьми и машинами. Но какой-то стандарт с открытым исходным кодом был бы лучше.