Swagger 打开API 3.0.0:引用的文件无法访问父组件
当主页引用文件时,使用Open API 3.0.0,如下所示:Swagger 打开API 3.0.0:引用的文件无法访问父组件,swagger,swagger-ui,openapi,Swagger,Swagger Ui,Openapi,当主页引用文件时,使用Open API 3.0.0,如下所示: file: main.yaml ... /ping: $ref: './dependency.yaml/#/foo' ... components: responses: Response: type: string 并且依赖项文件正在使用来自主服务器的响应: file: dependency.yaml ... /ping: $ref: '#/components/r
file: main.yaml
...
/ping:
$ref: './dependency.yaml/#/foo'
...
components:
responses:
Response:
type: string
并且依赖项文件正在使用来自主服务器的响应:
file: dependency.yaml
...
/ping:
$ref: '#/components/responses/Response'
...
这是行不通的,因为他只是想从内心解决问题。
我尝试过不同的方法,但没有成功:
'..#/components/responses/Response'
'../#/components/responses/Response'
'#/../components/responses/Response'
有办法吗?我真不敢相信,除了处理一个大文件,我没有其他解决方案。任何外部
$ref
路径都必须包含文件路径。如果dependency.yaml
需要引用main.yaml
,则$ref
应该如下所示
$ref: './main.yaml#/components/responses/Response'
$ref没有“父”/“子”文件的概念,它们总是在当前文件的上下文中解析。当ref不在主文件中时,使用swagger ui,例如在
dep/foo.yaml
中使用/
引用当前文件。在这里,foo.yaml
因此,。/
正在引用dep
文件夹
访问引用文件中父文件夹的解决方案是
。/../main.yaml
我也尝试过,但嵌套引用无法处理