如何从Java中的WADL文件访问方法?

时间:2012-06-07 05:37:20

标签: java methods wadl

我有一个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文件。我该怎么办?

1 个答案:

答案 0 :(得分:3)

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

WADL中存在一个小错误,因为它指定了带有<resource>的{​​{1}}网址;这很可能会导致工具问题,因为它试图组装一个正确的URL,但我们仍然可以说出URL是什么(从了解如何实现RESTful webapps)。

假设外部/表示基本网址为<resources>(并且没有中间http://example.org/foobar元素; WADL允许),那么WADL会说如果你做了GET在<resource>上,您的HTTP客户端配置为更喜欢XML,您将获得一个http://example.org/foobar/loadPerson?personId=123元素作为HTTP响应的主体(或错误,例如,如果这样的{{{ 1}}或者如果您没有被授权查明)。