Yaml API管理前端中保存的Swagger文档时缺少架构

Yaml API管理前端中保存的Swagger文档时缺少架构,yaml,swagger,azure-api-management,Yaml,Swagger,Azure Api Management,以下是我在尝试将前端招摇过市文档添加到我们的团队API时遇到的问题 在我最初的Swagger文档(Swagger 2.0)中,我在响应正文中提到的路径下有一个字段: responses: '200': description: Success schema: $ref: '#/definitions/QueryResponse' '401': $ref: '#/responses/401' '403':

以下是我在尝试将前端招摇过市文档添加到我们的团队API时遇到的问题

在我最初的Swagger文档(Swagger 2.0)中,我在响应正文中提到的路径下有一个字段:

  responses:
    '200':
      description: Success
      schema:
        $ref: '#/definitions/QueryResponse'
    '401':
      $ref: '#/responses/401'
    '403':
      $ref: '#/responses/403'
但是,一旦我使用OpenAPI编辑器将文档保存在API管理前端中,我发现响应中的$ref都消失了,文档自动更改为:

  responses:
    '200':
      description: Success
    '401':
      description: Unauthorized (ensure correct authorization header in the request)
    '403':
      description: >-
        Forbidden to perform the operation (ensure the client has correct
        role for the partition Id)
401和403的$ref不仅成为直接从responses对象获取的文本,而且200响应中的模式也丢失了。在我在根级别下的回复中,它是这样写的:

responses:
  '401':
    description: Unauthorized (ensure correct authorization header in the request)
  '403':
    description: Forbidden to perform the operation (ensure the client has correct role for the partition Id)
This responses field also missing from the document once I saved.
在我的根级别定义中,有QueryResponse模式:

  QueryResponse:
    properties:
      timestamp:
        example: '2019-08-09T10:04:50.49476Z'
        type: string
      message:
        example: 'Hello'
        type: string
    type: object
保存后,此架构仍保留在文档中,但由于“路径”下的“响应”字段中缺少$ref,因此它也没有显示出来

在我尝试输入OpenAPI3.0文档的同时,我按照官方文档重写了文档,我还检查了API管理中对OpenAPI3.0的支持,显然,预览功能支持它。但是,当我将整个3.0文档输入编辑器并准备保存时,显示了一个名为:

一个或多个字段包含不正确的值:
分析错误:指定的炫耀版本未知。

我已经检查过OpenAPI 3.0中不再有“招摇过市”字段,取而代之的是“OpenAPI”字段,我把它放在文档的顶部:OpenAPI:3.0.0

我可以知道2.0中缺少$ref或3.0中出现错误的原因吗?谢谢,如果有任何帮助,我真的很感激


更新

通过将以下字段放入响应中,可以解决缺少的模式:

produces:
  - application/json
但是,现在它使其他响应(如400、401和403)具有显示空列行的列“表示”。我不希望这样,是否有其他方法仅将生成应用于响应200?因为这是唯一具有JSON主体的响应


此外,401和403的$ref仍然缺失,说明取自根级别下的“响应”。

由于没有在开发人员门户中显示空的表示,操作详细信息页面的模板数据导致了空的选项卡

我能够对模板进行这些更改,使其不按预期显示它们,同时仍然能够显示它们(如果存在)