我有一个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文件。我该怎么办?
答案 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}}或者如果您没有被授权查明)。