我在用
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>4.3.1</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.4.8</version>
</dependency>
通过openapi规范生成客户端存根,并生成我自己的openapi文档。
我确实有一个api,让我们称它为api-1,我在我的项目中使用它。
这个api提供了一个枚举,简化了这个枚举:
@Schema(enumAsRef=true)
public enum SomethingEnum {
A,
B,
C
}
api one提供了openapi规范,其中枚举作为模式包含并引用。那很好。
我在api-2中使用的枚举。我让api-1中的所有模型都使用openapi生成器maven插件生成。
api-2确实提供了一个openapi规范,其简化如下:
{
"paths": {
"/request": {
"get": {
"tags": [
"requests"
],
"operationId": "getSomething",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Something"
}
}
}
}
}
}
}
},
"schemas": {
"Something": {
"type": "object",
"properties": {
"somethingEnum": {
"type": "array",
"items": {
"type": "string",
"enum": [
"A",
"B",
"C"
]
}
},
,
"id": {
"type": "string"
}
}
}
}
}
问题是:somethingeneum不是通过模式引用的。它应该是这样的:
{
"paths": {
"/request": {
"get": {
"tags": [
"requests"
],
"operationId": "getSomething",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Something"
}
}
}
}
}
}
}
},
"schemas": {
"Something": {
"type": "object",
"properties": {
"SomethingEnum ": {
"$ref": "#/components/schemas/SomethingEnum "
},
"id": {
"type": "string"
}
}
},
"SomethingEnum": {
"type": "string",
"enum": [
"A",
"B",
"C",
]
}
}
}
我怎样才能做到这一点?有什么办法我可以
将openapi生成器maven插件配置为使用 @Schema(enumAsRef=true)
如何配置springdoc?
我希望我的问题很清楚。谢谢你的建议。
暂无答案!
目前还没有任何答案,快来回答吧!