Поддержка внутренней документации к REST API в OctoberCMS
Рождение идеи.
Так получилось, что некоторые из последних проектов в нашей компании были выполнены как REST-like API на OctoberCMS + фронтенд на Nuxt.js.
Я разрабатывал первую часть и мне надо было как-то рассказывать frontend-разработчику какие роуты есть у нас в API. Для этого я поддерживал коллекцию роутов в Postman. Всё шло не плохо, пока мне, наконец, это не надоело. Тогда меня посетила мысль: "зачем мне поддерживать коллекцию в постмане, если у меня в коде уже всё есть?".
Так родилась идея создания плагина для OctoberCMS, про который я расскажу в этой статье.
Плагин GromIT.RoutesBrowser
Итак GromIT.RoutesBrowser - это плагин, который отображает в админке на отдельной странице все роуты вашего приложения (за исключением системных, и роутов темы) с документацией, собираемой из кода и докблоков с помощью Reflection API.
Самый простой способ понять, как с этим работать - это создать плагин с файлом routes.php
и добавить какой-нибудь роут.
Например, что-то такое:
Далее, открываем страницу плагина в админке сайта и видим следующую картину:
Как видно из скриншота, информация о роуте заполнилась следующим образом:
- HTTP-метод и URI роута - из самого описания роута в файле
route.php
- комментарий - из докблока к обработчику роута
- тип и комментарий к параметру
name
из него же - параметры запроса с описанием типов и комментариями - из докблока к классу запроса
Также, здесь можно ввести значения параметров, добавить заголовки и выполнить тестовые запросы (пока без файлов и массивов, возможно, они будут добавлены в будущем).
Вот, собственно, и всё.
Вместо заключения
Данный плагин - не замена Postman или Swagger и он точно не предназначен для публичных API. Это скорее аналог php artisan route:list
для тех, кому лень идти в терминал.
Скачать плагин: