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 模板上对许多包含“.”的参数进行编码并且仍然获得正确的代码示例?