Javascript Can';t安装程序摆动-无法读取属性';参数';未定义的
我在设置node.js应用程序中的招摇过市时遇到问题。我正在使用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
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无关。