REST教程十一:记录REST服务:WSDL和WADL

WSDL是一个W3C标准,是一种Web服务描述语言,它通常被用来描述SOAP服务器提供的服务的详情。虽然WSDL具有灵活的服务绑定选项(例如,服务可以通过SMTP邮件服务器提供),但是它原先并没有支持GET和POST等 HTTP操作,而由于REST服务经常使用HTTP动词(如PUT和DELETE),因此WSDL不是一个记录REST服务的好选择。

在2.0中,WSDL支持几乎所有的HTTP动词,因此它现在被认为是一个记录REST服务的可接受的方法。

第二个选择是WADL,中文名称是“Web应用描述语言”。 WADL的是由Sun Microsystems公司倡导的。像REST一样,WADL的也是轻量级的,比WSDL容易理解和容易编写。在某些方面,它不像WSDL灵活(不绑定SMTP服务器),但它对任何REST服务都足够了,而且动词也少得多。

这里是一个WADL规范的片段,描述了亚马逊的“项目搜索”服务:


<method name="GET" id="ItemSearch">
 <request>
  <param name="Service" style="query"
   fixed="AWSECommerceService"/>
  <param name="Version" style="query" fixed="2005-07-26"/>
  <param name="Operation" style="query" fixed="ItemSearch"/>
  <param name="SubscriptionId" style="query"
   type="xsd:string" required="true"/>
  <param name="SearchIndex" style="query"
   type="aws:SearchIndexType" required="true">
    <option value="Books"/>
    <option value="DVD"/>
    <option value="Music"/>
  </param>
  <param name="Keywords" style="query"
   type="aws:KeywordList" required="true"/>
  <param name="ResponseGroup" style="query"
   type="aws:ResponseGroupType" repeating="true">
    <option value="Small"/>
    <option value="Medium"/>
    <option value="Large"/>
    <option value="Images"/>
  </param>
 </request>
 <response>
  <representation mediaType="text/xml"
   element="aws:ItemSearchResponse"/>
 </response>
</method>

正如你可以看到,大多是不言自明的格式,它通过使用XML schema这种类型类型安全的好东西丰富了REST。

    整个文件大约只有10行,要长于这个片段(包括XML命名空间规格,导入架构语法等),而且从其中可以发现WADL规范
    另一个现实世界的WADL文件,可以查看CSS验证服务规范的W3C独角兽项目

然而,一些REST的倡导者,认为即使在轻量级的WADL也有点多余。而事实上,大多数REST服务的记录并不比文字描述(人类可读的HTML文件)多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值