У меня есть обычное приложение Hapi, которое я планирую перенести на Swagger. Я установил swagger-node с помощью официальных инструкций и выбрал Hapi при выполнении 'проекта сборки swagger'. Тем не менее, я теперь запутался, потому что, кажется, существует несколько библиотек для интеграции swagger- node и hapi:
- hapi-swagger: самый популярный
- hapi-swaggered: несколько популярный
- swagger-hapi: непопулярный и не активный, но используемый официальной библиотекой Swagger Node.js(т.е. swagger-node) по умолчанию для проектов Hapi
Я, хотя swagger-hapi был "официальным" подходом, пока не попытался найти информацию о том, как различные конфигурации на маршрутах Хапи (например, авторизация, обзор и т.д.). Похоже, что подходы принципиально разные, чарг-хапи принимает определение Swagger в качестве входных данных и автоматически генерирует маршруты, тогда как hapi-swagger и hapi-swaggered, похоже, имеют схожий подход друг с другом, только генерируя документацию Swagger API от простого старого Hapi определения маршрутов.
Учитывая количество участников и количество загрузок, hapi-swagger, похоже, подходит, но я не уверен, как действовать дальше. Существует ли "официальный" способ Swagger для настройки Hapi, и если есть, как настроить аутентификацию (желательно с помощью hapi-auth-jwt2, или другое подобное JWT-решение) и авторизацию?
EDIT: я также нашел swaggerize-hapi, который, как утверждается, поддерживается командой kraken.js с открытым исходным кодом PayPal, которая указывает, что она может имеют какую-то корпоративную поддержку (всегда хорошая вещь). swaggerize-hapi, похоже, очень похож на hapi-swagger, хотя последний, похоже, предоставляет больше функциональных возможностей (главным образом редактор Swagger).