2

我有一个 REST 服务,我有一个 WADL 文件。我想引用这个文件并从中访问方法。WADL 文件内容如下:

<resource path="/loadPerson">
    <method id="loadPerson" name="GET">
        <request>
            <param xmlns:xs="http://www.w3.org/2001/XMLSchema" name="personId" style="query" type="xs:int"/>
        </request>
        <response>
            <ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="person" mediaType="application/xml"/>
            <ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="person" mediaType="application/json"/>
        </response>
    </method>
</resource>

实际上我不知道如何处理它,因为我以前从未玩过 WADL 文件。我应该做什么?

4

1 回答 1

3

标识您将以 RESTful 方式与之交互的 URL(相对于指定为您未显示的外部元素上<resource>base属性的基本 URL)。<resources>具有GET 属性,这意味着要使用该特定操作,您需要对资源 URL 执行 GET <method>name内部<request>有一个<param>,所以我们知道要在 GET URL 中添加一个查询参数;在这种情况下,它将是personId=123(或其他整数)。<response>告诉我们,我们可以返回 XML 或 JSON 的答案;我们应该使用 HTTP 内容协商来说明哪个。

WADL 中有一个小错误,因为它指定了<resource>带有前导的 URL /;这很可能会导致工具出现问题,因为它试图组装正确的 URL,但我们仍然可以说出 URL 将是什么(通过了解 RESTful webapps 的实现方式)。

假设外部<resources>说基本 URL 是http://example.org/foobar(并且没有中间<resource>元素;WADL 允许这样做),那么 WADL 是说,如果您http://example.org/foobar/loadPerson?personId=123使用配置为首选 XML 的 HTTP 客户端执行 GET,您将得到一个<person>元素作为HTTP 响应的正文(或错误,例如,如果没有匹配的 apersonId或您无权查找)。

于 2012-06-07T08:31:43.287 回答