Spring Boot中OpenAPI Generator创建的POJO如何跨微服务共享?

问题描述 投票:0回答:0

假设我有 2 个微服务

Foo
Bar
,并使用
gradle openApigenerate 
yaml 文件中指定的所有内容生成 POJO。

openAPI生成器生成POJO如下:

Foo:
fooPojo1
fooPojo2
Accessible only to micro-service Foo
Bar:
barPojo1
barPojo2
Accessible only to micro-service Bar

我还在两个微服务之间共享模型。因此

barPojo1
barPojo2
在 Foo 中可用,而
fooPojo1
fooPojo2
在 Bar 中可用。

但是,如果我想在

fooPojo1
中使用
Bar
作为模式,我需要在 Bar 微服务中重新声明
fooPojo1
,如下所示:

Bar:
barPojo1
barPojo2
fooPojo1

那么我是否不必创建重复的对象,只需引用导入库中的现有对象,例如:

Bar:
barPojo1
barPojo2
$ref: foo-service.fooPojo1

我需要一个解决方案,因为每当我在 Bar 服务中使用

fooPojo1
时,我需要将 Bar 服务的
fooPojo1
映射到 Foo 服务的
fooPojo1
,对于内部通信反之亦然。

我尝试在 OpenApi 文档、stackoverflow 和其他各种地方寻找解决方案,但没有找到信息。不确定引用外部库作品。

java spring-boot spring-rest openapi-generator
© www.soinside.com 2019 - 2024. All rights reserved.