Давайте представим, что у меня есть три пружинных загрузочных микросервиса ... один предоставляет продукты, второй обеспечивает доступность продукта, а третий - операционный бэкэнд для торгового интерфейса, предоставляет объект, содержащий данные продукта и доступность продукта (позволяетназовите это ProductContainer).
Теперь в сервисе продукта я определяю модель продукта в пакете com.x.product-service.model, а в сервисе инвентаризации у меня есть модель доступности в com.x.inventory-service.model (обауказывается в OpenAPI 3).
В своем бэкэнде продавца я загружаю данные о продукте и доступность из этих двух сервисов, используя сгенерированную клиентскую библиотеку swagger, и поэтому получаю эти две модели из пакетов, как упоминалось ранее.
Проблема теперь возникает, когда я хочу определить конечную точку для своего торгового сервиса, используя OpenAPI, который возвращает новую модель, содержащую эти две модели.
Когда я включаю их черезссылка с $ref
регенерируется в домене модели службы продавца.
Поскольку модели теперь представляют собой разные классы в разных пакетах, я не могу просто взять модели, полученные от службы продукта / доступности, и поместить ихв ProductContainer, я должен был бы сопоставить их с эквивалентными моделями вОн торговец обслуживающим доменом.
Есть ли способ в OpenApi3 codegen ссылаться на внешние модели, не восстанавливая их в другом домене?
Или вся моя проблема показывает, что в моем дизайне есть недостатки?