openapi 模式对象到 json 对象
openapi schema object to json object
我正在研究包装多个端点的端点实现。
有一个端点 /entity1
在依赖项中实现,它在特定包的 maven 插件中生成了自己的 openapi 规范。还有一个端点 /entity2
来自另一个依赖项。
我正在尝试为 /batch
生成一个规范,获取一个实体 1 数组和一个实体 2 数组,就像这个架构:
paths:
/batch:
post:
description: Batch ingest data
operationId: batchCreate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Batch'
description: ...
components:
schemas:
Batch:
type: object
properties:
entity1list:
type: array
items:
type: object
entity2list:
type: array
items:
type: object
我目前有使用 java 普通 Object
生成的模型。
问题:
- 是否可以将 openapi 指向不同包中加载的不同规范?那将是理想的。请记住,我无法导入规范并重新生成代码,因为它不会在不同的包上执行此操作。
- 如果没有,我可以将普通对象转换为
Entity1
/Entity2
吗?
使用@Cristian 提到的post解决了。在生成时,可以映射某些引用。文档 here
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>${openapi-generator-maven-plugin.version}</version>
<configuration>
... excluded for simplicity
<importMappings>
<importMapping>SignatureNotification=path.to.your.SignatureNotification</importMapping>
</importMappings>
</configuration>
</plugin>
我正在研究包装多个端点的端点实现。
有一个端点 /entity1
在依赖项中实现,它在特定包的 maven 插件中生成了自己的 openapi 规范。还有一个端点 /entity2
来自另一个依赖项。
我正在尝试为 /batch
生成一个规范,获取一个实体 1 数组和一个实体 2 数组,就像这个架构:
paths:
/batch:
post:
description: Batch ingest data
operationId: batchCreate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Batch'
description: ...
components:
schemas:
Batch:
type: object
properties:
entity1list:
type: array
items:
type: object
entity2list:
type: array
items:
type: object
我目前有使用 java 普通 Object
生成的模型。
问题:
- 是否可以将 openapi 指向不同包中加载的不同规范?那将是理想的。请记住,我无法导入规范并重新生成代码,因为它不会在不同的包上执行此操作。
- 如果没有,我可以将普通对象转换为
Entity1
/Entity2
吗?
使用@Cristian 提到的post解决了。在生成时,可以映射某些引用。文档 here
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>${openapi-generator-maven-plugin.version}</version>
<configuration>
... excluded for simplicity
<importMappings>
<importMapping>SignatureNotification=path.to.your.SignatureNotification</importMapping>
</importMappings>
</configuration>
</plugin>