Масштабируйте OpenAPI с общими зависимостями между службами

Предположим, что в спецификации API есть две или более службы с общими моделями, и мы используем подход API first с OpenAPI.

Проиллюстрировать:

  • serviceA в своем определении API имеет CommonModel
  • serviceB в своем определении API имеет CommonModel

Где определить CommonModel?

  1. в каком-то отдельном модуле, а затем запрашивать его у всех служб, использующих его.
  2. в одном из сервисов, а затем рефить его со всех сервисов, использующих его
  3. определите его в каждой службе, а затем разрешите его на этапе создания модели, чтобы избежать конфликтов дублирования.
  4. ...

Под сервисом я подразумеваю разные приложения, API каждого сервиса автоматически генерируется из спецификации OpenAPI.

Каковы наилучшие методы масштабирования и обработки общего модельного ада с подходом OpenAPI?


person Mikhail Linkov    schedule 01.02.2020    source источник


Ответы (1)


В концентраторе swagger есть функция под названием домены, которая предназначен для повторного использования общих моделей, параметров и т. д. Идея иметь общие модели в одном месте

person Mikhail Linkov    schedule 10.02.2020