Как я могу получить несколько параметров, закодированных в %, в шаблон URI пасеки?

Спецификация 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», что неверно.

Последующий эффект здесь заключается в том, что на сервер API отправляется неверный URI, поэтому ответ имеет неверный формат, создавая ошибку.

Как закодировать множество параметров, содержащих «.», в шаблоне URI и при этом получить правильные примеры кода?


person Jason Vertrees    schedule 27.01.2015    source источник
comment
Какой язык примера кода вы используете?   -  person Zdenek    schedule 28.01.2015


Ответы (1)


Поможет ли добавление явных значений примера для этих параметров?

Например:

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

Обновлять

Похоже, это ошибка в том, как визуализируются примеры документации/кода. Я создал задачу отслеживания здесь https://github.com/apiaryio/language-templates/issues/36.

person Zdenek    schedule 27.01.2015
comment
Нет, это не помогает. Он по-прежнему закодирован дважды (%252e): + address%2Ecity (optional, string, `Austin`) ... The building's city становится address%252Ecity=Austin. - person Jason Vertrees; 28.01.2015
comment
пример на каком языке? - person Zdenek; 28.01.2015
comment
Джейсон, это похоже на ошибку на нашей стороне, я создал проблему в соответствующем репозитории и постараюсь исправить ее как можно скорее! Извини за это. - person Zdenek; 01.02.2015