ApiaryIO 仕様 (実際にはそれが指す RFC) は、「.」を使用できないことを示しています。パラメータ名では、「%2E」にエンコードする必要があります。それは問題ありませんが、Apiary がそのようなエンコーディングを 1 つしか処理できないというバグがあるようです。たとえば、次の
## 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" が含まれていますが、2 番目の例では "foo%252Ebar" が含まれていますが、これは正しくありません。
ここでのダウンストリーム効果は、API サーバーに間違った URI が送信されるため、応答が不正な形式になり、エラーが発生することです。
URI テンプレートで多くの "." を含むパラメーターをエンコードし、適切なコード例を取得するにはどうすればよいですか?