Доступно с 1.28.00
Запуск
/usr/abills/misc/dev/openapi_check.pl
Принцип работы
Данный скрипт сканирует все пути находящиеся в наших OpenAPI бандлах, и все пути системы внутри.
На основе этих данных, он формирует разницу между ними, и показывает в формате JSON.
Во время разработки иногда мы упускаем с описания пути или не совсем правильно их описываем.
Это делает документацию OpenAPI несколько невалидной, что может даже навредить при автоматической генерации клиента.
Данный скрипт позволяет этого избежать.
Результатом принтится JSON вида:
{ "in_perl_not_yaml": [ "DELETE /abon/tariffs/:id", "DELETE /abon/tariffs/:id/users/:uid", "DELETE /user/contacts/:id", "DELETE /user/contacts/push/badges/:id", "GET /user/paysys/transaction/status/:string_id", "GET /user/portal/news/:string_id", "GET /users", "GET /users/:uid", "GET /users/:uid/abon", "PUT /voip/trunk/:id" ], "in_yaml_not_perl": [ "DELETE /abon/tariffs/:ID", "GET /config", "GET /user/bots/subscribe/link/:bot", "GET /user/bots/subscribe/qrcode/:bot", "POST /admins/:AID/permissions", "POST /voip/trunks", "PUT /voip/:UID/tariff", "PUT /voip/trunk/:ID" ] }
Где первый ключ это найденные пути в нашем коде, которые не были найдены в yaml.
Второй, соответственно, найденные в yaml, но которых нет в нашем коде.
Пути могут визуально повторятся, но технически они могут быть разные пути по тем или иным причинам, например:
- Ключи path params не совпадают по кейсу
- Ключи path params не совпадают по названию
- Путь не существует или в OpenAPI, или в нашем коде