当前位置: 首页 > 知识库问答 >
问题:

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

麻阳
2023-03-14

以下是我在尝试将前端Swagger文档添加到我们的团队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仍然丢失,描述是从根级别下的“响应”中获取的。


共有1个答案

戚阳
2023-03-14

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

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

 类似资料:
  • 这是一个springboot项目。我已经在我的应用程序中添加了SpringFox,它是一个基于Swagger 2的API文档工具。pom文件,我已经对它进行了配置,但是由于某种原因(我猜资源映射没有正常工作),配置的基本部分在那里,但是当我添加了更具体的配置时,比如我的联系人或API描述- 这是我的Swagger配置类: 我知道我不应该有ResourceHandler方法,但是因为我假设这个问题是

  • 我在 rest 控制器中有两个 get 映射,一个具有必需的请求参数(项目 ID),一个没有具有相同路径的请求参数。 此外,在项目中设置一个带有UI的基本Swagger。起初,从我之前描述的2 get映射中,有一个是随机丢失的,然后我用swagger注释正确注释它们,但现在不带参数的get不断丢失。 有没有办法强制昂首阔步既得图又得图? 更新:是的,路径变量可以是一个很好的解决方案,但由于遗留的原

  • 支持在项目中使用 Swagger 注解语法,运行命令,生成 Swagger 文件。 Swagger 是最流行的 API 开发工具,它遵循 OpenAPI Specification(OpenAPI 规范,也简称 OAS)。 Swagger 可以贯穿于整个 API 生态,如 API 的设计、编写 API 文档、测试和部署。 Swagger 是一种通用的,和编程语言无关的 API 描述规范。 imi-

  • 我正在用以下查询查询我的索引: 字段是字符串数组,查询的工作方式与预期相同。然而,有些文档没有字段,我也希望获得这些文档。 我怎么能那么做?

  • 我有一个问题'XWPF文档'。程序的一部分获取docx文件,并将其中的所有内容复制到一个输出docx文件中。包括文字、表格、图片和公式。我在这方面有一个很好的结果,但是最近我有一个错误:一张图片没有复制到结果中。这是源代码,这是结果。结果你可以看到“3.1.6.2”部分的哪些图像被成功复制,但是不在“3.1.6.1”。 我是这样做的: 这里的关键是: 我从'运行'得到嵌入的图片。在坏的文件中,我有

  • 问题内容: 我看到这个问题从Django的项目和建议,但仍不能得到这个工作。我的Django Admin页面根本不显示CSS。 这是我当前的配置。 settings.py httpd.conf 另外,我还运行以下命令来创建(我认为)符号链接 ln -s /home/djangotest/sgel/media/admin/ /usr/lib/python2.6/site-packages/djang