我们正在将我们的一个项目从 swagger v2 迁移到 OpenAPI v3 版本,我们面临着标头没有类型的情况。即,使用
“schema”:{}
或 “schema”:{example:”null”}
或 “schema”:{nullable:true}
手动更新生成的标头 swagger 文件正在按预期工作,并且能够在 api 门户中成功上传这些 swagger 版本。所以现在的问题是,虽然使用 swagger 注释(例如 schema = @Schema(example = “null”)
或 schema = @Schema(nullable = true)
)进行相同的更改,但默认生成 “type”:”string”
,它看起来像 “schema”:{“type”:”string”, Example: null}
或 “schema”:{“type”:”string”,nullable: true}
,这被认为是API 门户。任何人都可以协助如何摆脱模式下的type
。
不确定是否可以去掉
type
,因为如果没有定义模式,JSON Schema 中的模式是隐式的 type: any
。如果只是因为你无法获得字符串type
,我认为最好的方法是手动编辑文件。
我不相信你可以有一个空方法。
schema = @Schema()
关于JSON Schema的有效性...
"schema": {}
与
相同"schema": {"type": "any"}