【发布时间】:2021-09-05 23:38:47
【问题描述】:
我是招摇的新手。
我有一些 yaml 文件,我尝试使用 Intellij 中的 swagger 插件来生成代码。
当我生成它时,我有错误cannot find symbol。他找不到的符号是
TS29510NnrfNFManagementYamlcomponentsschemasFqdn
但这是错误的。真的是在找符号
$ref: TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn
Fqdn 没有生成(我认为是因为它的类型不是对象)。
但是为什么生成器找不到这个符号呢?
在 yaml 中 Fqdn 看起来像这样:
Fqdn:
type:
- string
- array
items: {}
【问题讨论】:
-
“我认为是因为它的类型不是对象”。不,这是因为
type是一个类型列表,而不是单个类型。 OpenAPI 3.1(2021 年 2 月发布的最新 OpenAPI 规范版本)支持类型列表,但 OpenAPI 3.0 和 2.0 不支持。 -
@Helen 如何检查 OpenAPI 的版本?我使用 3.0.25 版本的 swagger-codegen-maven-plugin。但我没有明确包含 OpenAPI。
-
OpenAPI 版本在您的 YAML 文件本身中指定:
openapi: 3.x.x是 OpenAPI 3,swagger: '2.0'是 OpenAPI 2。根据您问题中的信息,您使用 OpenAPI 3.0.
标签: spring-boot yaml swagger swagger-codegen swagger-codegen-maven-plugin