Swagger UI 上未出现“请求正文”

2023-12-19

我正在尝试做一个测试POST请求我的 Swagger 文档,但我遇到了以下问题:

在 Swagger Editor 上我可以正常测试它,但在 Swagger UI 上,请求正文字段不会出现,因此我无法输入我的电子邮件和密码来测试请求。

您可以在此处看到请求正文字段,其中包含可供编辑的数据示例:
Swagger 编辑器示例 https://i.stack.imgur.com/ImMqt.png

在这里你可以看到 Swagger UI 没有显示它:
Swagger 用户界面示例 https://i.stack.imgur.com/G6NpK.png

注意:我已经生成了一个Nodejs服务器.

My .yaml code:

openapi: '3.0.1'

info:
  version: 1.0.0
  title: Test
  description: Test openapi.

servers:
  - url: http://localhost:3005

paths:
  /login:
    post:
      summary: Login
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/login'
      responses:
        200:
          description: Test

components:
  schemas:
    login:
      type: object
      properties:
        email:
          type: string
          example: [email protected] /cdn-cgi/l/email-protection
        password:
          type: string
          format: password
          example: example123
        expires:
          type: integer
          example: 86400
      required:
       - email
       - password

TL;DR:将 Swagger UI 更新到最新版本。

只是为了澄清场景(为未来的读者):OP 将此 OpenAPI 3.0 定义粘贴到 Swagger Editor 中,生成 Node.js 服务器并运行它。请求正文显示问题与 Swagger UI 相关,该 UI 是此 Node.js 服务器的一部分(http://localhost:8080/docs).

问题是这个 Node.js 服务器使用了非常旧版本的 Swagger UI。更具体地说,它使用oas3-tools https://github.com/bug-hunters/oas3-tools软件包 v.1.0.1,其中捆绑了 Swagger UI v.3.3.1。最新的 Swagger UI 版本(截至撰写本文时)是 3.22.1,并且不存在所描述的问题。

解决方案是将 Swagger UI 更新到最新版本:

  • 有一个现有问题 https://github.com/bug-hunters/oas3-tools/issues/11 in the oas3-tools存储库将捆绑的 Swagger UI 更新到最新版本。考虑提交 PR 来解决这个问题。

  • 作为快速修复,您可以 forkoas3-tools,更新捆绑的 Swagger UI 文件<oas3-tools>\middleware\swagger-ui文件夹,然后更新package.json生成的 Node.js 服务器的引用您的oas3-tools叉子代替。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swagger UI 上未出现“请求正文” 的相关文章

随机推荐

  • NHibernate 组件继承

    NHibernates 组件可以继承吗 快速谷歌只返回了一堆适当的结果 所有博客 并且所有内容都是前一段时间写的 所以想知道它是否可用 如果不是 你该如何处理 目前还不可能 如果需要继承 则必须映射一个实体
  • 在实体框架中绑定自定义属性

    我的 EF 模型中有一个员工实体 然后我向项目添加了一个类以添加自定义属性 public partial class Employee public string Name get return string Format 0 1 this
  • 如何缩小 IMG 周围的 DIV?

    向所有 CSS 大师提出一个简单的 有人可能会想 问题 我想缩小 DIVsnugly围绕 IMG IMG 是 600 x 800 我需要它小得多 所以我去 高度 100 width auto 并通过包装器 DIV 约束高度 但是 为了维持
  • 在 Android 项目中处理 AWS 凭证的正确方法是什么?

    我需要在我的 Android 应用程序中连接到 Amazon 的 SimpleDB 亚马逊提供的示例项目安卓软件开发工具包 http aws amazon com sdkforandroid 将凭证放置在名为 AwsCredentials
  • 如何动态更改 ElasticSearch 的同义词

    我的同义词存储在数据库中 当数据库中的同义词发生更改时 我想更新索引中可能因同义词更改而更改的任何值 我能想到的有两个部分 第一 找出要重新索引的文档 第二 弄清楚如何告诉 ElasticSearch 同义词已更改 我正在努力解决第二个问题
  • 在 C# 中用新音频覆盖 mp4/wmv 视频的音频内容

    我有一个视频剪辑和一个音频剪辑 我想将音频放在视频的一部分上 双方的起点一致 但视频稍长 我想最好用 C 来做到这一点 有人知道我该怎么做吗 我想批量处理大量短片 10 12 分钟的剪辑 因此需要将其写入代码中 谢谢您的帮助 egon 您的
  • 我可以从应用程序内启动系统 PIN 身份验证吗?

    是否可以在我的应用程序中创建身份验证 以使用设备锁定 PIN 码验证用户 是否有意图机制或类似机制提示用户输入 PIN 码 我见过DevicePolicyManager 但我无法想出 有什么结论吗 从Android 5 0开始 您可以使用K
  • Rails Devise CakePHP 的旧用户

    我最近让 Devise 开始工作 新用户登录 注册 注销等都很好 然而 老用户有一个问题 我已经得到了 401 未经授权的地步 在我看来 登录时创建的哈希值不正确 当然也没有正确匹配 我的用户模型 class User lt ActiveR
  • 使用 Maven 和 postgres-db 运行 liquibase 时出现问题

    我在 postgresql db 上运行 Maven 的 liquibase plugin 时遇到问题 当尝试从命令行运行 liquibase update 时 我收到错误消息 ERROR Failed to execute goal or
  • 代码签名错误:捆绑包格式无法识别、无效或不合适

    我正在开发 iOS 应用程序 Swift 语言 iOS8 Xcode 6 1 它在 iPad 上运行良好 然后我向项目添加了 资源 文件夹引用 之后我收到代码签名错误 Resource 文件夹包含一些 HTML 文件 我不确定此文件夹引用是
  • 为什么当我第一次在系统中运行 React js 项目时收到此错误消息?

    当我跑步时npm start 我收到此错误消息 来自 chokidar C 的错误 错误 EBUSY 资源繁忙或锁定 lstat C hiberfil sys 来自 chokidar C 的错误 错误 EBUSY 资源繁忙或锁定 lstat
  • Intellij:如何复制/粘贴文件以复制它?

    我似乎找不到办法做到这一点 我在某个文件夹中有一个名为 X 的文件 我想在同一目录中创建具有相同内容的 Y 我在eclipse中的做法是选择文件并 C P eclipse提示输入新名称 UPDATE 显然 只有当编译单元包含多个类型时才会出
  • 您如何看待 TFS 中版本的更改?

    我正在尝试从 VSS 迁移到 TFS 并且需要能够显示在两个版本之间签入了哪些文件 在 VSS 中 我们只需标记发布的代码并查看标签之间的历史记录 并生成报告以显示签入和评论 有没有办法用 TFS 获得类似的结果 或者显示两个变更集或标签之
  • ATLANTBH jmeter-components:JSON 路径断言

    我正在尝试使用执行 JSON 断言ATLANTBH https github com ATLANTBH jmeter componentsjmeter JSON 路径断言 但是 我似乎无法编写正确的表达式来从下面发布的 JSON 提要中获取
  • Android - 使用 Glide/Picasso 从网站 URL 加载缩略图

    我正在尝试使用 Glide 加载网络上一篇文章的缩略图 但它返回一个空字段 与其他示例不同 此 URL 不直接链接到 PNG JPG 等等 而是一个网站链接 我需要它加载 默认缩略图 ImageView 已正确设置并初始化 我曾分别尝试过使
  • jQuery 可拖放定位

    我正在使用 jquery UI 和 jQuerydraggable 我所有的draggables都使用jqueryclone助手并附加可拖动的 to 可丢弃的 这是我的代码 squeezePage droppable droppable t
  • 如何检查是否安装了 gem?

    我为 Sinatra 项目安装了 data mapper 好奇 为什么我这样做的时候会这样gem install brew I can which brew并获取其位置的路径 但不能用于 data mapper 这适用于某些宝石 但不适用于
  • 提供基于泛型类型集合的泛型键比较

    我已经创建了自己的InsertOrUpdate 一些类型的实现如下 public IEnumerable
  • 如何将Web API添加到现有的ASP.NET MVC(5)Web应用程序项目中?

    假设您在创建新的 MVC 5 项目时忘记勾选 Web API 复选框 将其添加到项目中 那么您需要做什么来添加 Web API 并使其正常工作 有很多迁移问题 但似乎没有一个具有将 Web API 添加到 MVC 5 项目的完整且最新的步骤
  • Swagger UI 上未出现“请求正文”

    我正在尝试做一个测试POST请求我的 Swagger 文档 但我遇到了以下问题 在 Swagger Editor 上我可以正常测试它 但在 Swagger UI 上 请求正文字段不会出现 因此我无法输入我的电子邮件和密码来测试请求 您可以在