ブループリントを構築しようとしている既存の API が 1 つあります。この API では、特定のリクエスト ボディが URI エンコードされた JSON である必要があります。
ボディを「このように、しかしエンコードされた」と指定する方法はありますか?
既存の (単なるテキスト) ドキュメントは、JSON を表示するだけで、送信前にエンコードするための気の利いたリマインダーも表示されます。
POST /blah/blah/blah
Content-Type: application/x-www-form-urlencoded
Parameters: (x-www-form-urlencoded)
{ "title": "Buy cheese and bread for breakfast." }
しかし、ブループリント (特に apiary.io のブループリント) を使用すると、実際のボディを表示する必要があります。これは完全に読めません:
### Create a Note [POST]
+ Request (application/x-www-form-urlencoded)
%7B%20%22title%22%3A%20%22Buy%20cheese%20and%20bread%20for%20breakfast.%22%20%7D
しかし、ブループリントで読み取り可能なテキストを指定すると失敗します (パラメーター エラーが返されます)。
### Create a Note [POST]
+ Request (application/x-www-form-urlencoded)
{ "title": "Buy cheese and bread for breakfast." }
本当の問題点は、Apiary を実サーバーと通信させたときです。読み取り可能な要求は失敗し (エンコードされていないため)、読み取り不能な要求は成功します (必要に応じてエンコードされているため)。