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

时间:2016-02-22 22:28:57

标签: swagger openapi

我有这样的网址:

/id/{idnumber}/status

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


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

paths:
  /id/{number}/status:

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

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

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

paths:
  /status:

2 个答案:

答案 0 :(得分:3)

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

openapi: 3.0.0
...

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

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

详情请见:

答案 1 :(得分:1)

我不认为basePath允许变量。

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

    "/pet/{petId}": {