查看当前版本的 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">
用作 的子级的 a <request>
,规范将其描述为:
指定根据 queryType 属性指定的查询组件媒体类型的规则表示的URI 查询参数。
“URI 查询”位让我大吃一惊,因为对我来说,它建议将参数附加到 URI 而不是包含在正文中。
另一方面,对于<param style="query">
用作 的子级的 a <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 查询”。