Лучшие практики для предоставления клиентов Swagger Codegen - PullRequest
0 голосов
/ 29 января 2020

У меня есть куча сервисов Swaggerized. Все эти службы общаются (звонят) друг другу. Сервисы, конечно, имеют версии API. В конечном итоге наша цель состоит в том, чтобы не вносить несовместимые изменения в API-интерфейсы REST, но, учитывая, что мы находимся на ранних этапах (ничего в производстве, ...), мы вполне готовы "исправлять ошибки".

I не нашел ни одного хорошего трактата о том, как организовать сервисы в отношении проектов Maven и Swagger Codegen.

Мне кажется, что каждый сервис нуждается в следующих артефактах:

  1. A WAR файл для развертывания службы
  2. Сгенерированный Swagger Codegen клиентский API в файле Jar, который будет импортирован потребителями API.

Мы также хотели бы, чтобы клиентский jar API был добавлен в наш собственный репозиторий Maven, чтобы его можно было вводить как зависимость Maven.

Итак, мои вопросы:

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

Дополнительные пункты:

  1. Сейчас у нас есть только Java клиентов, но в будущем у нас могут быть другие клиенты
...