我有以下 API 文档:
swagger: "3.0"
info:
version: 0.0.1
title: Test API
paths:
/users:
get:
summary: Get all registered users
produces:
- application/json
responses:
200:
description: Users successfully returned
403:
description: User not authorised to call this API
schema:
$ref: 'components.yaml#/components/schemas/AuthError'
其中AuthError模式在一个名为components.yaml的单独的yaml文件中定义:
components:
schemas:
AuthError:
type: object
properties:
error:
type: sting
description: Error message
以及摇摆器配置:
const swaggerDefinition = {
info: {
title: 'FlexiWAN REST API documentation',
version: '1.0.0',
description: 'This is the REST API for FlexiWAN management',
},
components: {},
host: 'local.flexiwan.com:3443',
basePath: '/api',
securityDefinitions: {
JWT: {
type: 'apiKey',
in: 'header',
name: 'Authorization',
description: "",
}
}
};
const options = {
swaggerDefinition,
apis: ['./swagger/**/*.yaml'],
};
const swaggerSpec = swaggerJSDoc(options);
app.use('/docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));
但是当我尝试访问Swagger UI时,我得到以下错误:
path./users.get.responses.403.schema.$ref 处的解析程序错误 无法解析引用:尝试解析相对 URL,但没有 basePath。path: 'components.yaml' basePath: 'undefined'
我在这里错过了什么?
所以我设法用这个很棒的资源解决了这个问题:
我所要做的就是在API文档文件的末尾添加对组件的引用,并相应地更改架构引用:
403:
description: User not authorised to call this API
schema:
$ref: '#components/schemas/AuthError'
components:
$ref: './components.yaml'
问题内容: 我想将Mongoose模型分离到一个单独的文件中。我试图这样做: 然后,我尝试使用如下模型: 在单独的模块中引用模型是否合理? 问题答案: 基本方法看起来很合理。 作为一种选择,您可以考虑集成模型和控制器功能的“提供商”模块。这样,您可以让app.js实例化提供程序,然后可以执行所有控制器功能。app.js只需指定要实现的具有相应控制器功能的路由即可。 为了进一步整理,您还可以考虑使用
我有许多swagger文件,使用相同的定义。我想将此定义移动到单独的文件并引用它们。 主 swagger 文件如下所示: 我尝试导入的文件已保存到 exceptions.yaml(并保存到同一位置),如下所示: 我读过$refhttps://swagger.io/docs/specification/using-ref/但找不到如何导入定义,而不是API 我正在尝试导入它,并做了以下更改: 或者使
这是我第一次涉足斯威格,所以请温柔点。 我有以下定义: 因此,有一个名为的属性,它是的数组。和是类型的模型(我知道这不会转化为招摇)。我想做的是定义一个带有默认值的实际模型数组,在本例中是和。大概是这样的: 或 当然,两者都不起作用。原因是,虽然模型正确地描述了,但不同的可以具有不同的参数集。 有没有一种方法可以从本质上定义几个模型的列表,或者将和模型映射到
问题内容: 例如,我的想法是: File1.js File2.js 这段代码是用于节点服务器的,此代码会出现问题吗? 问题答案: 不,只需使用相同的“ io”对象。 File1.js File2.js app.js index.html
当我设计炫耀的API服务模型时,我正在研究巨大的yaml模式,并强调了文本。我想将部分保存在另一个文件中,以便具有更大的灵活性和可读性。 在本文档之后,我使用了这部分代码: 在我的文件中,我有这样的东西: 它可以在本地主机上运行,但是我在企业部署服务器上运行我的文件时遇到了以下问题: 组件中的错误解析程序错误.架构.请求.属性.技术数据.$ref 无法解析引用,原因如下: 不可接受 我成功地能够在