我想将我的 OpenAPI 文件组件拆分为单独的文件并在我的文档中重用它们。我的问题是,虽然我的 IDE 在另一个文件中找到了我的组件的引用,但 Swagger 解析器会抛出错误。我的文件位于同一文件夹中,根据文档,我们可以访问外部组件。我正在使用 OpenAPI 3.0.0。
我收到的错误是这样的:
无法解析资源 /C:/wamp/www/justbe/documentation/API_Specs/Components/Application.yaml/General.yaml/
似乎解析器试图在我调用的引用下找到另一个 yaml 文件:
注意:虽然我的 PhpStorm 中的 Swagger 插件错误在编辑器中显示了结构,但由于这个问题,我无法将所有文件合并为一个。我也尝试了 VS Code,同样的问题。
将您的参考 uri 更新为以下内容:
$ref: './General.yaml#/components/schemas/Note'
注意
#
必须与文件路径位于同一路径段中,因为它充当该文件的“锚点”。然后,引用解析器使用基本路径 uri 来遍历文档树。