<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Схема REST API для Postman и не только]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Схема REST API для Postman и не только форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Tue, 26 May 2026 03:12:11 +0300</pubDate>
		<item>
			<title>Схема REST API для Postman и не только</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408936">Схема REST API для Postman и не только</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо! Недавно я создал «генератор кода» для Postman, который преобразует JSON-запрос Postman в правильный /tool/fetch. Я всё ещё работаю над этим, и Postman должен принять это. Но этот проект позволит создавать «фрагменты кода» RouterOS /tool/fetch прямо из приложения Postman (и других инструментов).<br /><br />Обновление на июль 2025: curl2rsc больше не работает из-за закрытия glitch.com. Но я добавил веб-страницу, которая использует RouterOS Postman «codegen» для преобразования команды curl в команду RouterOS /tool/fetch, как часть серии «Scheme Tools» здесь. &nbsp;<br />Сайт для преобразования команды cURL в команду /tool/fetch<br /><br />Примечания: &nbsp;<br />_- URL может измениться в будущем, но сейчас он здесь. &nbsp;<br />Если никто долго не заходил на сайт, может понадобиться около 15 секунд, чтобы «прогреться», так как я использую бесплатный backend glitch.com. Перезагрузка страницы тоже может помочь._<br /><br />Случай использования: Обычно SaaS/облачные и подобные сайты дают какой-то пример curl в доках или интерфейсе, так что вышеописанный инструмент позволяет просто скопировать этот «curl» и получить, надеюсь, корректную команду /tool/fetch для использования. Внутри он преобразует curl в JSON-объект Postman, а мой RouterOS codegen конвертирует JSON в /tool/fetch (в меру возможностей fetch) и в несколько вариантов для удобного копирования в RouterOS.<br /><br />Попробуйте преобразовать какой-нибудь curl -X GET example.com и напишите мне здесь или на GitHub, если что-то конвертируется неправильно. <br />
			<i>17.07.2025 01:30:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408936</link>
			<guid>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408936</guid>
			<pubDate>Thu, 17 Jul 2025 01:30:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Схема REST API для Postman и не только</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408935">Схема REST API для Postman и не только</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Только что зарегистрировался, чтобы сказать спасибо за то, что поделились этим! <br />
			<i>28.09.2024 09:47:00, EBRAddict.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408935</link>
			<guid>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408935</guid>
			<pubDate>Sat, 28 Sep 2024 09:47:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Схема REST API для Postman и не только</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408934">Схема REST API для Postman и не только</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я добавил интерфейс отображения различий на страницу загрузки схемы на GitHub, <noindex><a href="https://tikoci.github.io/restraml" target="_blank" rel="nofollow" >https://tikoci.github.io/restraml</a></noindex>. Теперь там показываются команды и атрибуты, которые изменились между версиями RouterOS: <img class="lazyload "  src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="/upload/forum/mikrotik/e2abc54d694054fc0c03d5d5fe682906712d74de.png" alt="Пользователь добавил изображение" border="0" /> <br />
			<i>24.05.2024 15:20:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408934</link>
			<guid>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408934</guid>
			<pubDate>Fri, 24 May 2024 15:20:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Схема REST API для Postman и не только</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408933">Схема REST API для Postman и не только</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я автоматизировал создание схем на GitHub и добавил новую страницу загрузок, где можно посмотреть схемы/документы для разных версий с 7.9 по 7.15rc4: &nbsp;<br />Downloads: <noindex><a href="https://tikoci.github.io/restraml" target="_blank" rel="nofollow" >https://tikoci.github.io/restraml</a></noindex> &nbsp;<br /><br />Исходники и другие детали здесь: &nbsp;<br />GitHub Project: <noindex><a href="https://github.com/tikoci/restraml" target="_blank" rel="nofollow" >https://github.com/tikoci/restraml</a></noindex> &nbsp;<br />VSCode Online View: <noindex><a href="https://github.dev/tikoci/restraml" target="_blank" rel="nofollow" >https://github.dev/tikoci/restraml</a></noindex> &nbsp;<br /><br />Гиковские подробности... Внутренности этой автоматизации довольно интересные (на мой взгляд) и, скорее всего, полезные для других автоматизаций с использованием GitHub и RouterOS. В частности, GitHub Action, который собирает схемы/документы и так далее, запускает CHR внутри самого GitHub, который используется для выполнения необходимых REST-запросов к /console/inspect. &nbsp;<br /><br />В проекте на GitHub, а именно в разделе «Actions», можно увидеть все детали процесса генерации схем, где основную работу выполняет файл manual-docker-in-docker.yaml. &nbsp;<br /><br />И правда, когда я начинал этот мини-проект, я всего лишь хотел «продеффать» дерево команд, чтобы увидеть, что изменилось в CLI между версиями. И в итоге понадобилось как-то запустить Docker^2 + QEMU + CHR... <br />
			<i>22.05.2024 19:45:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408933</link>
			<guid>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408933</guid>
			<pubDate>Wed, 22 May 2024 19:45:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Схема REST API для Postman и не только</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408932">Схема REST API для Postman и не только</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Было бы здорово, если бы MikroTik просто опубликовали спецификацию, вместо того чтобы заставлять делать всю тяжёлую работу самим. Я умолял их не использовать собственный REST API, а взять за основу общепринятый стандарт YANG. Тогда конфигурацию роутера можно было бы создавать и хранить в нейтральном формате, понятном для любого производителя, и преобразовывать в что-то, что понимает RouterOS. Очень жаль, что они отказались. Твоё решение здесь меня немного утешает, и за это я очень благодарен. Если нужна помощь — техническая документация, настройка тестов и так далее — пиши мне на GitHub <noindex><a href="https://github.com/brotherdust" target="_blank" rel="nofollow" >https://github.com/brotherdust</a></noindex> <br />
			<i>14.12.2023 21:04:00, brotherdust.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408932</link>
			<guid>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408932</guid>
			<pubDate>Thu, 14 Dec 2023 21:04:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Схема REST API для Postman и не только</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408931">Схема REST API для Postman и не только</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Хотя это не «скрипт», у меня есть реализация на JavaScript, которая через /system/console по REST генерирует RAML 1.0 схему. Просто раньше я это здесь не выкладывал, вот теперь делюсь. Это не идеально, скорее около 90%. Например, особенно с аргументами — как и у ChatGPT, может допускать пару ошибок, но в основном всё работает, особенно POST-запросы. В большинстве случаев по типам не придирается — почти все помечены как «any». Есть баги в /console/inspect при использовании request=syntax — некоторые падают, поэтому синтаксических данных мало используется. Есть все пакеты, кроме calea, возврат атрибутов «неточный» — просто отмечен как «any». JSON-аргументы в основном списки (возможно, не всегда), но типы по-прежнему «any». Поскольку схема генерируется автоматически, в ней нет «примеров» или «документации», только эндпоинты и аргументы. GET-запросы не полностью описаны для корневых команд (GET /ip/address) — там должны быть указаны query-параметры и вывод в виде массива. Некоторые настройки по умолчанию для Postman можно улучшить, но не очень понятно, как это контролировать через RAML… Наверняка есть и другие недостатки… В любом случае — хороший старт для более формализованной схемы. Хотя это и не OpenAPI/swagger напрямую, RAML отлично импортируется в Postman.<br /><br />RAML-схема для скачивания &nbsp;<br />Сгенерированную RAML-схему для импорта (~6 МБ, 250 тысяч строк YAML) можно скачать по ссылке: <noindex><a href="https://tikoci.github.io/restraml" target="_blank" rel="nofollow" >https://tikoci.github.io/restraml</a></noindex> &nbsp;<br />Проверяйте сайт на наличие новых версий. Более свежие версии лежат в GitHub-проекте, но оригинальные файлы по состоянию на момент этого поста остались тут: &nbsp;<br />7.12 — <noindex><a href="https://tikoci.github.io/restraml/routeros.raml" target="_blank" rel="nofollow" >https://tikoci.github.io/restraml/routeros.raml</a></noindex> &nbsp;<br />7.13 — <noindex><a href="https://tikoci.github.io/restraml/routeros.7.13.raml" target="_blank" rel="nofollow" >https://tikoci.github.io/restraml/routeros.7.13.raml</a></noindex><br /><br />Использование Postman… (и других HTTP-инструментов) &nbsp;<br />Чтобы использовать в Postman: &nbsp;<br />- Перейдите в секцию API &nbsp;<br />- Нажмите кнопку «Import» вверху секции API &nbsp;<br />- Загрузите RAML-файл из вышеуказанных ссылок &nbsp;<br />- Нажмите «View import setting» и выберите «Schema», а не стандартный «example» в качестве источника для данных запросов/ответов Postman &nbsp;<br />- Нажмите иконку назад в левом верхнем углу, затем «Import» &nbsp;<br />- Подождите (Postman показывает прогресс в статус-баре) &nbsp;<br />- Перейдите в секцию «Collections» слева, увидите новый RouterOS<br /><br />Работать с Postman дальше — дело пользователя. По крайней мере, нужно добавить: &nbsp;<br />- «Basic Auth» должен быть настроен либо на коллекцию, либо другой уровень &nbsp;<br />- {{baseUrl}} надо задать IP вашего роутера через переменные окружения в Postman<br /><br />Конвертация RAML в OpenAPI/swagger &nbsp;<br />Этот сайт вроде позволяет взять RAML-схему и получить из неё OpenAPI: &nbsp;<br /><noindex><a href="https://mulesoft.github.io/oas-raml-converter/" target="_blank" rel="nofollow" >https://mulesoft.github.io/oas-raml-converter/</a></noindex> &nbsp;<br />Сгенерированная OpenAPI-схема: &nbsp;<br /><noindex><a href="https://tikoci.github.io/restraml/routeros-openapi3.json" target="_blank" rel="nofollow" >https://tikoci.github.io/restraml/routeros-openapi3.json</a></noindex> &nbsp;<br />Хотя я мало тестировал, по крайней мере в Postman она загружается. Наверняка есть другие CLI-инструменты для этого, но главное, что Postman поддерживает RAML — это было важно.<br /><br />JavaScript для генерации RAML &nbsp;<br />В основном для справки. Генерация занимает около 30 минут и выполняет свыше 30 тысяч REST-запросов на мощном MacBook. Исходники JS доступны в GitHub-проекте: &nbsp;<br /><noindex><a href="https://github.com/tikoci/restraml" target="_blank" rel="nofollow" >https://github.com/tikoci/restraml</a></noindex> &nbsp;<br />Код не изящный, но работает. Пока не обернул в контейнер, если времени хватит — займусь позже. &nbsp;<br />P.S. Можно было написать RouterOS скрипт, но 4К кусков по 6 МБ звучит не очень весело — хотя RSC-скрипт или контейнер теоретически тоже подойдут. JS-шный способ был проще и быстрее, так как большую часть работы я уже сделал раньше.<br /><br />Postman в VSCode с RouterOS REST… &nbsp;<br />Использование расширения Postman для VSCode тоже работает, как только схема загружена: &nbsp;<br />Включая генерацию кода Postman из REST-схемы.<br /><br />Правки: &nbsp;<br />- Добавил TODO &nbsp;<br />- Исправил ссылки, чтобы использовать GitHub-проект вместо гита для скачивания RAML-схемы &nbsp;<br />- Добавил скриншот VSCode с плагином Postman &nbsp;<br />- Обновил URL для генерации OpenAPI схемы &nbsp;<br />- Обновил ссылки на GitHub-проект. <br />
			<i>11.09.2023 03:20:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408931</link>
			<guid>http://mikrotik.moscow/forum/forum57/86646-skhema-rest-api-dlya-postman-i-ne-tolko/message408931</guid>
			<pubDate>Mon, 11 Sep 2023 03:20:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
