使用 WADL 记录 POST 参数

发布于 2024-09-02 00:45:25 字数 1559 浏览 6 评论 0原文

查看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>

但是,对于用作 子级的 ,< a href="http://www.w3.org/Submission/wadl/#x3-270002.12.2" rel="noreferrer">规范将其描述为:

指定 URI 查询参数 根据以下规则表示 查询组件媒体类型 由queryType属性指定。

“URI 查询”位让我感到困惑,因为对我来说,它建议将参数附加到 URI,而不是包含在正文中。

另一方面,对于用作 子级的 ,规范具有:

指定一个组件 表示为名称值对 根据规则格式化 媒体类型。通常与 媒体类型 'application/x-www-form-urlencoded' 或 '多部分/表单数据'。

我是否必须使用 元素来显式记录将作为 POST 正文的一部分以编码方式发送的参数?

<resource path="/path1">
    <method name="POST">
        <request>
            <representation mediaType="application/x-www-form-urlencoded">
                <name="param1" style="query"/>
            </representation>
        </request>
    </method>
</resource>

这看起来有点矫枉过正。我假设我应该能够使用前者,尽管规范提到了“URI 查询”。

Looking at the current version of the WADL proposal, I couldn't quite figure out how to document POST request parameters (with application/x-www-form-urlencoded encoding).

I've seen something like this in the wild:

<resource path="/path1">
<!-- default is mediaType="application/x-www-form-urlencoded" -->
    <method name="POST">
        <request>
            <name="param1" style="query"/>
        </request>
    </method>
</resource>

However, for a <param style="query"> used as a child of <request>, the spec describes it as:

Specifies a URI query parameter
represented according to the rules for
the query component media type
specified by the queryType attribute.

The "URI query" bit threw me off since, to me, it suggests parameters being appended to the URI instead of being included in the body.

On the other hand, for a <param style="query"> used as a child of <representation>, the spec has:

Specifies a component of the
representation as a name value pair
formatted according to the rules of
the media type. Typically used with
media type
'application/x-www-form-urlencoded' or
'multipart/form-data'.

Do I have to use a <representation> element to explicitly document parameters that will be send in encoding as part of a POST body?

<resource path="/path1">
    <method name="POST">
        <request>
            <representation mediaType="application/x-www-form-urlencoded">
                <name="param1" style="query"/>
            </representation>
        </request>
    </method>
</resource>

This looks like an overkill. I'm assuming I should be able to use the former, even though the spec makes mention of "URI query".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌生 2024-09-09 00:45:25

现在我发现我实际上应该使用后一种形式。即使简单地记录一些 POST 参数看起来有点过分,但最好明确记录这些参数是 body == 表示的一部分这一事实。

3rd party edit

后一个可能意味着这个

<resource path="/path1">
    <method name="POST">
        <request>
            <representation mediaType="application/x-www-form-urlencoded">
                <name="param1" style="query"/>
            </representation>
        </request>
    </method>
</resource>

Now I see that I actually should be using the latter form. Even if it looks like an overkill for simply documenting some POST parameters, it's better to explicitly document the fact that the parameters are part of the body == representation.

3rd party edit

The latter one does probably mean this one

<resource path="/path1">
    <method name="POST">
        <request>
            <representation mediaType="application/x-www-form-urlencoded">
                <name="param1" style="query"/>
            </representation>
        </request>
    </method>
</resource>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文