9

我有一个这样的网址:

/id/{idnumber}/status

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


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

paths:
  /id/{number}/status:

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

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

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

paths:
  /status:
4

2 回答 2

11

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

openapi: 3.0.0
...

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

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

有关详细信息,请参阅:

于 2018-03-15T10:44:19.343 回答
1

我认为basePath不允许变量。

对于您的情况,您不需要使用basePath. 您可以简单地将 /id/{idnumber} 放在 URL 路径中。例如:_

    "/pet/{petId}": {
于 2016-02-23T06:51:19.590 回答