我正在尝试创建在参数和响应中包含外部文件引用的API资源,并尝试使用swagger解决这些引用。 (支持导入带有外部引用的OpenAPI定义。)>
为此,我将YAML文件作为文件存档,将有一个主main.YAML文件,并从该文件中引用了其他文件。
OpenAPIV3Parser openAPIV3Parser = new OpenAPIV3Parser(); ParseOptions options = new ParseOptions(); options.setResolve(true); options.setFlatten(true); OpenAPI openAPI = openAPIV3Parser.read(extractedLocation + "/main.yaml", null, options); String openAPIContent = Yaml.mapper().writerWithDefaultPrettyPrinter().writeValueAsString(openAPI); APIDefinitionValidationResponse apiDefinitionValidationResponse = new APIDefinitionValidationResponse (); apiDefinitionValidationResponse = OASParserUtil.validateAPIDefinition(openAPIContent, returnContent);
我尝试使用此代码段,但是当YAML文件中存在
apiDefinitionValidationResponse
时,$ref
引发错误。如果没有$ref
,则apiDefinitionValidationResponse成功,并创建api。
所以我怀疑将数据提供给OASParserUtil.validateAPIDefinition
方法存在问题(validateAPIDefinition
方法没有问题,并且已经过验证和测试)
有人可以帮我吗?
生成的YAML文件到处都有extensions{}
行
调试日志中的错误消息:
attribute info.license.extensions is unexpected
attribute info.extensions is unexpected
attribute components.schemas.ErrorListItem.extensions is unexpected
attribute components.schemas.MenuItem.extensions is unexpected
attribute components.schemas.Order.extensions is unexpected
我正在尝试创建在参数和响应中包含外部文件引用的API资源,并尝试使用swagger解决这些引用。 (支持使用...