如何在 OpenAPI (Swagger) 中参数化 API 基本路径?

2024-04-27

我有一个像这样的网址:

/id/{idnumber}/status

在这个网址中,/id/{idnumber}是 API 基本路径,并且/status是资源。


我知道 OpenAPI (Swagger) 允许在路径中使用参数,如下所示:

paths:
  /id/{number}/status:

但这不是我需要的,因为/id/{idnumber}是基本路径,而不是资源路径的一部分。

有什么办法可以在基本路径中包含参数吗?

host: my.api.com
basePath: /id/{idnumber}   # <---

paths:
  /status:

OpenAPI 3.x 支持参数化基本路径,使用服务器变量:

openapi: 3.0.0
...

servers:
  - url: https://my.api.com/id/{number}
    variables:
      number:
        default: '-1'

请注意,服务器变量必须有一个defaultvalue - 如果客户端未提供值,则将使用该值。

详细信息请参见:

  • 服务器对象 https://spec.openapis.org/oas/v3.1.0.html#server-object and 服务器变量对象 https://spec.openapis.org/oas/v3.1.0.html#server-variable-objectOpenAPI 3.0 规范的各个部分
  • API 服务器和基本 URL https://swagger.io/docs/specification/api-host-and-base-path/在 swagger.io 上
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 OpenAPI (Swagger) 中参数化 API 基本路径? 的相关文章

随机推荐

  • 更新jqGrid中的数据

    我在这种情况下使用 jqGrid 网格从第一个 URL 获取 JSON 数据 如果 URL 返回正确的 JSON 网格会显示该数据 如果 URL 返回不正确的数据 则会触发 grid 的 loadError 事件 在这种情况下 我想将网格的
  • Android JSoup 示例

    我只是想知道是否有人有一个包含 JSoup 的工作实现的示例 Eclipse 项目 我试图用它从网站上获取信息 并在谷歌上到处搜索试图让它工作 但不能 如果有人可以提供帮助 我将非常感激 JSoup 真的很容易使用 看看 JSoup 食谱中
  • 将比其父级更宽的 div 居中,而不设置负左边距

    我有一个div里面有一个div 里面的 div 比它的父级宽 所以正常的过程 margin left auto margin right auto 生成一个内部 div 其中子级的左边缘与父级的左边缘对齐 当人们回答这个问题时 他们通常会采
  • Android 上的 iptables 1.4.11

    我已经从以下位置下载了 Android 内核源代码http source android com source building kernels html http source android com source building ke
  • 将 jbyteArray 转换为字符数组,然后打印到控制台

    我正在编写一个 JNI 程序 其中我的 cpp 文件获取 jbyteArray 并且我希望能够使用 printf 打印 jbyteArray 为此 我相信我必须将 jbyteArray 转换为字符数组 对于背景知识 我的 JNI 的 jav
  • 使最后一个动态添加的手风琴打开

    我正在尝试添加引导程序手风琴 https v4 alpha getbootstrap com components collapse accordion example以编程方式 以便每次单击 添加 按钮时 都会生成一个新的手风琴 并关闭前
  • 将文本文件与 C# 中的文本模式进行比较?

    我将文本文件与类似的模式进行了比较 它正在将整行写入日志 如下所示 insert into depdb fin quick code met 但我需要单独写这个depdb或者depdb fin quick code met 即 我只需要这个
  • 在下载的同时从 UnityWebRequest 获取数据?

    我有这段代码可以进行 REST 调用 public IEnumerator GetCooroutine string route string finalURL URL route UnityWebRequest www UnityWebR
  • 树视图上的 VirtualizingStackPanel 不是虚拟化

    我在这里遇到一个问题 我想在 TreeView 中显示一些项目 大约 100 000 个元素 如果我使用默认的 WPF TreeView 一切似乎都可以工作 但如果我使用自定义 TreeView 目前只有 ItemsControl 虚拟化似
  • 何时在 VBA 中使用 TextFrame 或 TextFrame2

    例如 在 Powerpoint 中 文本框对象 http msdn microsoft com en us library office bb265592 28v office 12 29 aspx 表示 Shape 对象中的文本框架 包含
  • NAudio 音调变换

    我正在使用 NAudio DLL 并且正在寻找音调变换声音的示例代码 有一个使用的例子NAudio https github com naudio NAudio用于开源中的音高变换Skype 变声器 https github com mar
  • 如何远程获取系统的网络共享和连接?

    我正在寻找一种远程获取类似于以下控制台应用程序的信息的方法 net use 净份额 网络统计 ano 但是 我需要能够在系统上运行第三方应用程序的情况下执行此操作 这有效地排除了使用 psexec 远程执行命令 因为 psexec 将作为服
  • .NET:十进制到舍入字符串

    如果我有一个decimal 如何获得带有两位小数的字符串版本 这不起作用 Math Round myDecimal 2 ToString 0 00 不要使用大括号 它们用于使用以下命令将格式化值嵌入到较长的字符串中string Format
  • Swift NSSet 和 CoreData

    我正在尝试将目标 C 和 CoreData 应用程序移动到 Swift 和 iOS 但在迭代 NSSet 对象时遇到了困难 Xcode 已生成这些类 class Response NSManagedObject NSManaged var
  • ruby 2.0.0 捆绑包在 Gemfile 上失败并显示“key: value”

    我正在尝试使用 Gemfile 更新我的 gem 但总是在同一行失败 Gemfile group doc do gem sdoc require false end Command bundle update 我总是收到这个错误 Gemfi
  • 对齐顶部两个具有不同字体大小的文本视图

    我使用约束布局 我想实现以下目标 app layout constraintBaseline toBaselineOf 属性底部对齐两个文本视图 有什么方法可以使两个顶部对齐吗 由于大小差异 常规的 app layout constrain
  • 为什么枚举可以有包私有构造函数?

    既然枚举构造函数只能由其常量调用 为什么允许它是包私有的呢 构造函数实际上不是包私有的 它是隐式的private接口方法的隐式方式public即使您不添加关键字 JLS 的相关部分 8 8 3 http docs oracle com ja
  • Git“预接收”挂钩和“git-clang-format”脚本可以可靠地拒绝违反代码风格约定的推送

    让我们立即从一个片段开始pre receive我已经写过的钩子 bin sh format bold 033 1m format red 033 31m format yellow 033 33m format normal 033 0m
  • INotifyPropertyChanged 与线程

    我有一个 BindingList
  • 如何在 OpenAPI (Swagger) 中参数化 API 基本路径?

    我有一个像这样的网址 id idnumber status 在这个网址中 id idnumber 是 API 基本路径 并且 status是资源 我知道 OpenAPI Swagger 允许在路径中使用参数 如下所示 paths id nu