Swagger 编辑器抛出错误,在搜索类似问题、阅读文档、谷歌搜索后...我无法得到正确的结果,你能帮我吗?谢谢
paths./create.post.parameters.0.schema.$ref 处的解析器错误 无法解析引用:无法获取 跳转到第 12 行
YAML 文件
openapi: 3.0.3
info:
title: Test API
version: 1.0.1
paths:
/create:
post:
parameters:
# headers
- $ref: '#/components/parameters/TestName'
responses:
'200':
description: Success response
content:
text/plain:
schema:
type: string
example: pong
components:
parameters:
TestName:
name: TestName
in: header
required: true
example: 'Test'
schema:
$ref: ./common/CommonTypes.json#/%24defs/TName
JSON 文件
{
"$schema": "http://json-schema.org/schema#",
"description": "common",
"version": "1.1",
"$defs": {
"TName": {
"type": "string",
"maxLength": 50
}
}
}
您不需要对相对引用进行编码。
这应该足够了,假设 CommonTypes.json 与 openapi.json 文件位于同一文件夹中。
schema:
$ref: ./common/CommonTypes.json#/definitions/TName
唯一的其他变化是
$schema
值应该更新,但您应该知道 OpenAPI 3.0.x 不支持 JSON Schema 2020-12。它仅支持 JSON 架构草案 04 的子集。
关键字 $defs
最初是 definitions
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "common",
"version": "1.1",
"definitions": {
"TName": {
"type": "string",
"maxLength": 50
}
}
}