首页 文章

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

提问于
浏览
3

我有这样的网址:

/id/{idnumber}/status

在此URL中, /id/{idnumber} 是API基本路径, /status 是资源 .

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

paths:
  /id/{number}/status:

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

有没有办法在基本路径中有参数?

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

paths:
  /status:

2 回答

  • 2

    现在,使用服务器变量在OpenAPI 3.0中支持参数化基本路径:

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

    请注意,服务器变量必须具有 default 值 - 如果客户端不提供值,将使用它 .

    有关详情,请参阅:

    OpenAPI 3.0规范的

  • 1

    我不认为 basePath 允许变量 .

    对于您的情况,您不需要使用 basePath . 您只需将/ id / 放在URL路径中即可 . 对于example

    "/pet/{petId}": {
    

相关问题