WADL提案の現在のバージョンを見ると、POSTリクエストパラメーターを(application/x-www-form-urlencoded
エンコードを使用して)文書化する方法を完全に理解できませんでした。
私は野生でこのようなものを見ました:
<resource path="/path1">
<!-- default is mediaType="application/x-www-form-urlencoded" -->
<method name="POST">
<request>
<name="param1" style="query"/>
</request>
</method>
</resource>
ただし、<param style="query">
の子として使用される<request>
場合、仕様では次のように記述されています。
queryType属性で指定されたクエリコンポーネントメディアタイプのルールに従って表されるURIクエリパラメータを指定します。
「URIクエリ」ビットは、パラメータが本文に含まれるのではなく、URIに追加されることを示唆しているため、私を失望させました。
一方、<param style="query">
の子として使用される<representation>
場合、仕様には次のようなものがあります。
メディアタイプの規則に従ってフォーマットされた名前と値のペアとして、表現のコンポーネントを指定します。通常、メディアタイプ「application/x-www-form-urlencoded」または「multipart/form-data」で使用されます。
<representation>
POST本文の一部としてエンコーディングで送信されるパラメーターを明示的に文書化するために要素を使用する必要がありますか?
<resource path="/path1">
<method name="POST">
<request>
<representation mediaType="application/x-www-form-urlencoded">
<name="param1" style="query"/>
</representation>
</request>
</method>
</resource>
これはやり過ぎのように見えます。仕様では「URIクエリ」と記載されていますが、前者は使えるはずだと思います。