如何在 OpenAPI (Swagger) 中定义枚举?

2024-03-01

有谁知道如何定义可能enumOpenAPI 2.0 定义中的值以便它们显示在 Swagger UI 的“模型”选项卡中?
示例在这里 https://petstore.swagger.io/#!/pet/addPet有一个枚举选项status财产。
如何在 OpenAPI 2.0 中定义这样的枚举?


“enum”在 OpenAPI 2.0 中的工作方式如下:

      {
        "in": "query",
        "name": "sample",
        "description": "a sample parameter with an enum value",
        "type": "string",
        "enum": [ "1", "2"],
        "required": true
      }

在 OpenAPI 3.0 中:

      {
        "in": "query",
        "name": "sample",
        "description": "a sample parameter with an enum value",
        "schema": {
          "type": "string",
          "enum": [ "1", "2"]
        },
        "required": true
      }

如您所见,有一个名为的查询参数sample类型为字符串,并且有一个枚举说明两个可能的值。在本例中,示例声明该参数是必需的,因此 UI 不会将空值显示为选项。

对于最小的工作示例,请尝试以下操作:

{
  "swagger": "2.0",
  "info": {
    "title": "title",
    "description": "descriptor",
    "version": "0.1"
  },
  "paths": {
    "/sample": {
      "post": {
        "description": "sample",
        "parameters": [
          {
            "in": "query",
            "name": "sample",
            "description": "a sample parameter with an enum value",
            "type": "string",
            "enum": [
              "1",
              "2"
            ],
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful request."
          }
        }
      }
    }
  }
}

要在本地测试它,您可以声明一个变量(例如spec) 在您的 javascript 中,并将其传递到 SwaggerUi 对象中。

  var spec = { ... };

  window.swaggerUi = new SwaggerUi({
    url: url,
    spec: spec,
    dom_id: "swagger-ui-container",
    supportedSubmitMethods: ['get', 'post', 'put', 'delete'],
    onComplete: function(swaggerApi, swaggerUi){
    ...

The url在这种情况下,参数将被忽略。

最终,输出如下所示:

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

如何在 OpenAPI (Swagger) 中定义枚举? 的相关文章

随机推荐

  • 如何从 ruby​​ 1.9.1 降级到 ruby​​ 1.8.7

    我刚刚升级到 Rails 3 但在升级之前运行的是 ruby 1 9 1 Rails 3 不支持 Ruby 1 9 1 如何降级到 ruby 1 8 7 这将从当前版本降级到 1 8 7 gem update system 1 8 7
  • TensorFlow:如何在训练期间多次评估验证数据队列?

    tl dr 如何在每 K 次训练迭代之后评估验证集 使用单独的队列进行训练和验证数据 而不需要单独使用tf Sessions在多个进程中 考虑到我的特定问题 似乎没有一种干净的方法来实现这一目标 而我当前的解决方法 我认为可行 给了我未定义
  • matlab和openCV中的hough变换错误?

    我一直在使用 Matlab 和 OpenCV labview 的应用程序中使用霍夫变换 发现对于某些图像 霍夫变换给出了明显错误的线拟合 一致 Here are the test and overlayed images The angle
  • Thymeleaf 中的标题和标题

    我是百里香初学者 我从一个通用的布局页面开始 片段 layout html div class container Some text div 和内容页面 页面 html
  • 使用 Visual Studio 的 Python 工具在 Visual Studio 中使用 Matplotlib 进行绘图

    我刚开始在 Python 代码中使用 PTVS 我之前使用过 Spyder 因为它是与 Anaconda 发行版一起提供的 这是我遇到的问题 我正在尝试创建两个图 并同时在单独的窗口中显示它们 一个简单的例子是 import matplot
  • 无法获取用于 tmux 和 OSX 的删除键

    在通过自制软件安装了 tmux 的 OSX 上 我似乎无法让 删除 键起作用 我正在使用 iterm2 并将删除映射到 H 如果没有 tmux 删除 键可以正常工作 修复 Apple M1 Pro OSX 12 4 tmux 3 3a 上的
  • 从 DDS 中删除读取主题

    我在订阅数据时遇到问题 使用java平台 当订阅者订阅某个主题时 必须从 DDS 中删除该订阅的数据 但就我而言 每当我订阅数据时 相同的数据就会被订阅多次 数据不会从 DDS 中删除 我尝试过 QoS 但不知道如何使用它 请建议我如何从
  • 将数组分为 2 个子数组并检查乘法是否相等

    我正在为 Java 考试进行练习 我今天面临的问题之一是 给定一个包含 n 个数字的数组 我需要检查是否有 2 个子数组 不必相等 它们的乘法相等 如果有 将返回 true 否则返回 false 例如 如果数组是 2 15 3 4 2 5
  • NG-使用过滤器重复与当前日期进行比较?

    好的 我有一个包含日期列表的对象 我像这样遍历它
  • 在 Keras/Tensorflow 自定义损失函数中使用额外的“可训练”变量

    我知道如何在 Keras 中使用附加输入 而不是标准输入 编写自定义损失函数y true y pred配对 见下文 我的问题是输入损失函数可训练的变量 其中一些 是损失梯度的一部分 因此应该更新 我的解决方法是 输入网络的虚拟输入NXV大小
  • 从我的控制器而不是从我的 asp.net mvc Web 应用程序中的视图调用 JSON API

    我需要从我的 asp net mvc Web 应用程序调用 BPM 引擎的 JSON API 对 BPM 的 API 调用构造如下 http localhost 8080 jw web json workflow process list
  • 如何防止XDocument添加XML版本和编码信息

    尽管在以下代码中使用了 SaveOptions DisableFormatting 选项 XDocument xmlDoc XDocument Load FileManager SourceFile string element campa
  • 将 Keras 模型的输出重新缩放回原始比例

    我是神经网络的新手 只是免责声明 我有一个基于 8 个特征预测混凝土强度的回归问题 我首先做的是使用最小 最大标准化重新调整数据 Normalize data between 0 and 1 from sklearn preprocessi
  • 逻辑地址和物理地址之间的区别?

    我正在阅读 操作系统概念 现在正在读第 8 章 不过 我可以做一些澄清 或者保证我的理解是正确的 逻辑地址 根据书中所述 逻辑地址是由CPU生成的 这到底是什么意思 在执行生成的地址系统中 我假设当为程序编译代码时 该程序具有no知道代码将
  • 在C#中有效调整图像的对比度

    在 C 中是否有一种有效的方法来调整图像的对比度 我见过本文 http www gutgames com post Adjusting Contrast of an Image in C aspx它提倡进行逐像素操作 不快 我已经在一些地方
  • 通过 Wcf 序列化 Linq2Sql - 错误或误解?

    使用 Linq2Sql 作为 Wcf 服务的驱动程序 让我们从下往上 在底部 我们有调用 Linq2Sql 的方法 public virtual void UpdateCmsDealer CmsDealer currentCmsDealer
  • 正则表达式可选组

    我正在使用这个正则表达式 a z a z d a z a z d d 13 匹配这样的字符串 SH 6208069141055 BC000388 20110412101855 分为 4 组 SH 6208069141055 BC000388
  • 如何查看 gstreamer 调试输出?

    如何查看 GST CAT INFO GST DEBUG 等函数的输出 我是否需要自己使用调试级别设置来编译 gstreamer 还是可以在应用程序级别完成 可以使用 GST DEBUG 环境变量在 stderr 中打印调试消息 如果 gst
  • .NET:打开嵌入资源文件中的文件

    如何打开嵌入资源文件中的文件 例如硬盘上的文件 具有绝对路径 假设您有test xml文件嵌入到程序集中 你可以使用获取清单资源流 http msdn microsoft com en us library system reflectio
  • 如何在 OpenAPI (Swagger) 中定义枚举?

    有谁知道如何定义可能enumOpenAPI 2 0 定义中的值以便它们显示在 Swagger UI 的 模型 选项卡中 示例在这里 https petstore swagger io pet addPet有一个枚举选项status财产 如何