Open API 3.0.0:引用的文件无法访问父组件

问题描述 投票:0回答:1

使用Open API 3.0.0,当主页按如下方式引用文件时:

file: main.yaml
...
/ping:
    $ref: './dependency.yaml/#/foo'
...
components:
    responses:
        Response:
            type: string

并且依赖文件正在使用来自main的响应:

file: dependency.yaml
...
/ping:
    $ref: '#/components/responses/Response'
...

这是行不通的,因为他只是想在自己内心解决。我尝试了不同的方法,但未成功:

'..#/components/responses/Response'
'../#/components/responses/Response'
'#/../components/responses/Response'

有什么办法吗?我不敢相信除了处理一个巨大的文件外,我没有其他解决方案。

swagger swagger-ui openapi
1个回答
0
投票

任何外部$ref路径都必须包含文件路径。如果dependency.yaml需要引用main.yaml,则$ref应该看起来像

$ref: './main.yaml#/components/responses/Response'

$ refs没有“父” /“子”文件的概念,它们始终在当前文件的上下文中解决。

© www.soinside.com 2019 - 2024. All rights reserved.