Swagger 响应示例中的$ref

Swagger 响应示例中的$ref,swagger,swagger-editor,Swagger,Swagger Editor,我想在yaml文件中给出的响应示例如下: { “名称”:“元素”, “模式”:{ “财产”:{ “id”:{ “类型”:“字符串” }, “扩展”:{ “类型”:“数组”, “项目”:{ $ref:“#/定义/扩展” } } } } } 这个例子的ymal是: responses: 200: description: "successful operation, return the definition of the resource type in the body"

我想在yaml文件中给出的响应示例如下:

{
“名称”:“元素”,
“模式”:{
“财产”:{
“id”:{
“类型”:“字符串”
},
“扩展”:{
“类型”:“数组”,
“项目”:{
$ref:“#/定义/扩展”
}
}
}
}
}

这个例子的ymal是:

responses:
    200:
      description: "successful operation, return the definition of the resource type in the body"
      examples:
        application/json:
          name: Element
          schema:
            properties:
              id:
                type: string
              extension:
                type: array
                items: 
                  $ref: '#/definitions/Extension'
正如您所看到的,最后一行是“$ref:'#/definitions/Extension”,因此,Swagger认为这是一个在ymal文件中找不到的引用

有没有可能逃避这个问题以避免成为参考?

这是在Swagger编辑器和UI中

作为一种变通方法,为您的响应定义一个
模式
,并改用模式示例。模式示例在Swagger Editor 3.6.6和Swagger UI 3.17.5中显示良好。您可能仍然会在编辑器中看到$ref解析错误,但至少示例显示正确

响应:
200:
description:“操作成功,返回正文中资源类型的定义”
模式:
$ref:“#/definitions/MyResponseSchema”
定义:
MyResponseSchema:
类型:对象
特性:
姓名:
类型:字符串
模式:
类型:对象
特性:
...
例如:#