首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OpenAPI (Swagger)中参数化API基本路径?

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

Stack Overflow用户
提问于 2016-02-23 06:28:57
回答 2查看 10.4K关注 0票数 8

我有一个这样的URL:

代码语言:javascript
复制
/id/{idnumber}/status

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

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

代码语言:javascript
复制
paths:
  /id/{number}/status:

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

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

代码语言:javascript
复制
host: my.api.com
basePath: /id/{idnumber}   # <---

paths:
  /status:
EN

回答 2

Stack Overflow用户

发布于 2018-03-15 18:44:19

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

代码语言:javascript
复制
openapi: 3.0.0
...

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

请注意,服务器变量必须具有default值-如果客户端未提供值,则会使用该值。

有关详情,请参阅:

OpenAPI 3.0 Specification

中的

票数 9
EN

Stack Overflow用户

发布于 2016-02-23 14:51:20

我不认为basePath允许变量。

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

代码语言:javascript
复制
    "/pet/{petId}": {
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35565216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档