查看the current version of the WADL proposal,我无法弄清楚如何记录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>
的{{1}}使用的<param style="query">
来说,the spec describes it as:
指定 URI查询参数 根据规则表示 查询组件媒体类型 由queryType属性指定。
“URI查询”位让我失望,因为对我来说,它建议将参数附加到URI而不是包含在正文中。
另一方面,对于用作<representation>
孩子的<representation>
,规范包含:
指定的组件 表示为名称值对 根据规则格式化 媒体类型。通常用于 媒体类型 'application / x-www-form-urlencoded'或 '多部分/格式数据'。
我是否必须使用<resource path="/path1">
<method name="POST">
<request>
<representation mediaType="application/x-www-form-urlencoded">
<name="param1" style="query"/>
</representation>
</request>
</method>
</resource>
元素明确记录将作为POST正文的一部分在编码中发送的参数?
{{1}}
这看起来像是一种矫枉过正。我假设我应该能够使用前者,即使规范提到“URI查询”。
答案 0 :(得分:2)
现在我看到我实际上应该使用后一种形式。即使仅仅记录一些POST参数看起来有点过分,最好明确记录参数是body ==表示的一部分这一事实。
后者可能意味着这一个
<resource path="/path1">
<method name="POST">
<request>
<representation mediaType="application/x-www-form-urlencoded">
<name="param1" style="query"/>
</representation>
</request>
</method>
</resource>