У меня есть куча сервисов Swaggerized. Все эти службы общаются (звонят) друг другу. Сервисы, конечно, имеют версии API. В конечном итоге наша цель состоит в том, чтобы не вносить несовместимые изменения в API-интерфейсы REST, но, учитывая, что мы находимся на ранних этапах (ничего в производстве, ...), мы вполне готовы "исправлять ошибки".
I не нашел ни одного хорошего трактата о том, как организовать сервисы в отношении проектов Maven и Swagger Codegen.
Мне кажется, что каждый сервис нуждается в следующих артефактах:
- A WAR файл для развертывания службы
- Сгенерированный Swagger Codegen клиентский API в файле Jar, который будет импортирован потребителями API.
Мы также хотели бы, чтобы клиентский jar API был добавлен в наш собственный репозиторий Maven, чтобы его можно было вводить как зависимость Maven.
Итак, мои вопросы:
- Так ли это обычно делается?
- КЛЮЧЕВОЙ ВОПРОС: Есть ли способ для меня сгенерировать клиента из аннотированных Swagger классов ресурсов. Я стараюсь не останавливать службу, чтобы получить файл спецификации Swagger.
- Мы бы сгенерировали JAR клиента как ВТОРОЙ артефакт проекта WAR Maven службы или ...
- Если у нас есть отдельный проект Maven для файла JAR, который импортирует данные из службы (помните, что это файл war, а не файл JAR). Я предполагаю, что он может сканировать классы Swaggerized Resource для создания файла спецификации Swagger, а затем сгенерировать клиент из этого?
- Что-то еще полностью?
Дополнительные пункты:
- Сейчас у нас есть только Java клиентов, но в будущем у нас могут быть другие клиенты