如何将多个%编码的参数放入养蜂场URI模板中?

时间:2015-01-27 22:44:24

标签: rest apiary.io apiary

ApiaryIO规范 - 实际上它指向的RFC--表示你不能使用“。”在参数名称中,您需要将其编码为“%2E”。这很好,但似乎有一个错误,Apiary只能处理一个这样的编码。例如,以下

## Notes Collection [/notes{?foo%2Ebar}]

产生以下代码示例

request = Request('http://private-d1ee7-testingnewapiary.apiary-mock.com/notes?foo.bar=foo.bar')

这是正确的。但是,以下

## Notes Collection [/notes{?foo%2Ebar,baz%2Ebla}]

产生此代码示例:

request = Request('http://private-d1ee7-testingnewapiary.apiary-mock.com/notes?foo%252Ebar=foo%252Ebar&baz%252Ebla=baz%252Ebla')

请注意,在第一个代码示例中,您看到它有“foo.bar”但在第二个示例中它有“foo%252Ebar”,这是不正确的。

这里的下游效果是将不正确的URI发送到API服务器,因此响应格式错误,从而产生错误。

如何编码许多“。” - 在URI模板上包含参数并仍然获得正确的代码示例?

1 个答案:

答案 0 :(得分:0)

为这些参数添加显式示例值会有帮助吗?

例如:

## Notes Collection [/notes{?foo%2Ebar,baz%2Ebla}]
+ Parameters
    + foo%2Ebar (`42`)
    + baz%2Ebla (`24`)

更新

这似乎是文档/代码示例呈现方式的错误。我在此处创建了跟踪问题https://github.com/apiaryio/language-templates/issues/36