使用WADL记录POST参数

时间:2010-05-20 20:10:23

标签: web-services documentation wadl

查看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查询”。

1 个答案:

答案 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>