RESTful web服务设计的一个缺陷是,历史上缺乏强有力的技术用于有效地描述服务器和客户端之间的服务契约接口。RESTful API是灵活的,敏感的,它提供了大量好的松散耦合,但是如果应用架构师在寻找条有效的方式来描述RESTful API,就像WSDL描述传统的基于SOAP 的web服务那样的方式的话,那么架构师们就要对他们可悲的运气进行感叹了。
幸运的是该描述性语言正在追逐着流行的REST,而且还有 WSDL 2.0和WADL这两个技术来满足RESTful的需求。当然,当然这些技术参数并不完美,因为他们的只能够描述JSON字符串,仍然缺少复杂的属性,但是正在取得进展。
使用这些技术的一个警告是,尤其是当软件工程师希望使用代码生成器来创建WADL和WSDL文件时,实际上是在RESTful URL的资源元素需要通过常量来区分。整体上,这是的确是一个不错的主意,因为他使得URL更有意义,更易读。但是新标准使用关于什么是好的插入式常量越来越少,而是越来越多地使用所需的。
当你看到例子里,它是相当容易理解的。看看下面的UTL,它可能用于产品评级服务:
http://www.example.com/services/ratings/plunger/5
在这个例子中,你可以清楚地看到活塞(plunger)这个产品被赋予了5/5的评级。但是这个URL没有用常量进行隔离,这会导致描述性语言的问题。幸运的是,解决这一问题很简单,就像你下面将会看到的纠正过的URL:
http://www.example.com/services/ratings/product/plunger/rating/5
产品和评级的词在URL中是常量,并给相应的资源价值指配意义。正如你所看到的,这在URL的设计中并不是很大的改变,但是它很重要,因为它将会使你的RESTful API与今天市场上各种不同的描述语言更兼容,作为回报,当与客户进行交互时,他们将会有较少的问题。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
如何创建成功的RESTful API设计
设计好的API是一项困难的任务,存在很多主观指标。哪怕是完全拥抱RESTfulAPI设计并对其问题域拥有完整视图的小型初创企业最终也会出现命名不一致、界面模糊以及无记录语义等问题。
-
API创建影响生产的六个方面
在API创建方面,简单性至关重要。AnyPresence的Vivek Gupta讨论了开发者可以从6个方面处理好API的创建问题,从而加速API生产。
-
RESTful API设计给开发人员带来怎样的未来?
在模块化应用世界里,最为持久的争论莫过于面向服务架构和表述性状态转移之争了。本文探讨这样的争论带来了什么及其背后的原因。
-
遗留应用现代化场景:如何正确使用RESTful API
企业正在使用RESTful API来现代化其基础架构的关键方面,但是该方案怎么才能工作呢?我们为此专门采访了OpenLegacy的Zeev Avidan。