让我们想象一下,我有三个Spring Boot微服务...一个提供产品,第二个提供产品可用性,第三个提供商人前端的可操作后端,提供一个包含产品数据和产品可用性的对象(让称为ProductContainer)。
现在,在产品服务中,我在com.x.product-service.model包中定义了一个产品模型,在库存服务中,我在com.x.inventory-service.model中提供了一个可用性模型(均由OpenAPI指定) 3)。
在我的商人后端中,我使用生成的swagger客户端库加载了这两个服务的产品数据和可用性,因此如上所述从软件包中接收了这两个模型。
当我想使用OpenAPI为我的商家服务定义一个端点时,就会出现问题,该端点返回一个包含这两个模型的新模型。
当我通过与$ref
的链接包括它们时,它们将在商家服务的模型域中重新生成。
因为模型现在在不同的包中是不同的类,所以我不能仅将从产品/可用性服务中收到的模型放入ProductContainer中,而必须将它们映射到商家服务域中的等效模型。
OpenApi3代码生成中是否有一种方法可以链接到外部模型,而无需在其他域中重新生成它们?
还是整个问题都表明我的设计存在缺陷?