Javascript Can';t安装程序摆动-无法读取属性';参数';未定义的

Javascript Can';t安装程序摆动-无法读取属性';参数';未定义的,javascript,node.js,express,swagger,openapi,Javascript,Node.js,Express,Swagger,Openapi,我在设置node.js应用程序中的招摇过市时遇到问题。我正在使用swagger-jsdoc和swagger-ui-express创建文档。以下是版本 “swagger jsdoc”:“3.5.0”,“swagger ui express”:“4.1.3” 下面是配置,我将其传递给swagger jsdoc openapi: 3.0.0 info: description: test version: 3.0.0 title: U-CRM api documentation ter

我在设置node.js应用程序中的招摇过市时遇到问题。我正在使用
swagger-jsdoc
swagger-ui-express
创建文档。以下是版本

“swagger jsdoc”:“3.5.0”,“swagger ui express”:“4.1.3”

下面是配置,我将其传递给swagger jsdoc

openapi: 3.0.0
info:
  description: test
  version: 3.0.0
  title: U-CRM api documentation
  termsOfService: http://swagger.io/terms/
servers:
  - url: 'https://localhost:5000'
    description: Local server
tags:
- name: U-CRM
  description: CRM for university
components:
  parameters:
    $ref: 'components/parameters/index.yml'
  schemas:
    $ref: 'components/schemas/index.yml'
paths:
  $ref: '#/paths/index.yml'
毕竟,我犯了一个错误

无法读取未定义的属性“参数”

事实上,这让我很惊讶,因为我仔细阅读了《大摇大摆》的文档。
有什么问题吗?

OpenAPI不支持
$ref
任何地方
$ref
只能在明确声明字段值可以是“引用对象”的特定位置使用

例如,
$ref
不允许直接位于
路径
下、
组件/参数
组件/架构
下-您只能引用单个路径、参数和架构

您的示例的正确版本为:

路径:
/傅:
$ref:'#/path/index.yml#/~1foo'#$ref到'path/index.yml'中的根节点'/foo'`
/酒吧:
$ref:'#/path/index.yml#/~1bar'#$ref到'path/index.yml'中的根节点'/bar'`
组件:
参数:
参数1:
$ref:'components/parameters/index.yml#/param1'
参数2:
$ref:'components/parameters/index.yml#/param2'
模式:
方案1:
$ref:'components/schemas/index.yml#/schema1'
方案2:
$ref:'components/schemas/index.yml#/schema2'


如果您想在随机位置使用
$ref
,则必须使用能够解析任意$ref的解析器/工具对定义进行预处理;这将为您提供一个有效的OpenAPI文件,可以与符合OpenAPI的工具一起使用。一个这样的预处理工具是,您可以找到一个预处理示例。

OpenAPI不支持
$ref
任何地方
$ref
只能在明确声明字段值可以是“引用对象”的特定位置使用

例如,
$ref
不允许直接位于
路径
下、
组件/参数
组件/架构
下-您只能引用单个路径、参数和架构

您的示例的正确版本为:

路径:
/傅:
$ref:'#/path/index.yml#/~1foo'#$ref到'path/index.yml'中的根节点'/foo'`
/酒吧:
$ref:'#/path/index.yml#/~1bar'#$ref到'path/index.yml'中的根节点'/bar'`
组件:
参数:
参数1:
$ref:'components/parameters/index.yml#/param1'
参数2:
$ref:'components/parameters/index.yml#/param2'
模式:
方案1:
$ref:'components/schemas/index.yml#/schema1'
方案2:
$ref:'components/schemas/index.yml#/schema2'


如果您想在随机位置使用
$ref
,则必须使用能够解析任意$ref的解析器/工具对定义进行预处理;这将为您提供一个有效的OpenAPI文件,可以与符合OpenAPI的工具一起使用。一个这样的预处理工具是,你可以找到一个预处理的例子。

把你的配置放在那里谢谢,但我的问题与此无关。我知道我可以在那里测试,但问题是我把我的文档分割成不同的文件。将您的配置粘贴到其中谢谢,但我的问题与此无关。我知道我可以在那里进行测试,但问题是我将文档拆分为不同的文件。整个问题在于出现错误-
无法读取未定义的属性“参数”
。这至少与ref-s无关。整个问题是在获取错误时-
无法读取未定义的
的属性“参数”。这至少与ref-s无关。