有没有办法发送空的可选查询参数?

Is there any way to send empty optional query parameters?

我正在为 API 编写文档,但遇到了问题。

这里是link定义:

### Get hotels availability [GET /agent/v1/hotel/availability{?regions,hotels,from,to,limit,offset}]

参数:

+ Parameters 
    + regions (required,string,`399,189`)
    + hotels (optional, string, `1844`)
    + from (optional, string, `2016-03-12`)
    + to (optional, string, `2016-03-19`)
    + limit (optional, number, `1`)
    + offset (optional, number, `0`)

例如,当我尝试发送带有空 hotels 参数的请求时,养蜂场使用 1844 而不是空参数。如果我尝试将其示例为空,则会发送 hotels=hotels

有什么方法可以为可选参数发送空值,或者根本不发送?

这里是 link 截图: http://www.awesomescreenshot.com/image/1008356/09614be501945b0644fd84a06e311404

我不确定我是否正确理解了你的问题。我试图重现您描述的行为。我在 Apiary 中创建了一个新的 API 项目并编写了以下 API 蓝图:

FORMAT: 1A

# Hotels API

# Group Hotels

## Hotels [/agent/v1/hotel/availability{?regions,hotels,from,to,limit,offset}]

+ Parameters 
    + regions (required,string,`399,189`)
    + hotels (optional, string, `1844`)
    + from (optional, string, `2016-03-12`)
    + to (optional, string, `2016-03-19`)
    + limit (optional, number, `1`)
    + offset (optional, number, `0`)

### Get hotels availability [GET]

+ Response 200 (application/json)

        {"hello":"world"}

然后我在生成的交互式文档中打开控制台窗格并尝试编辑 URL 参数:

顶部的 URL 正在正确更改。我向控制台发出了一些请求,流量检查器页面似乎确认已发送正确的参数:

我认为您必须细化您的问题并提供更多信息。此外,我认为这是一个相当特定于 Apiary 的主题,通过 support@apiary.io 联系 Apiary 支持可能更有意义。如果您不喜欢电子邮件,还可以使用交互式聊天:


免责声明:在撰写答案时,我在 Apiary 工作。