RESTful Web服务的有效命名策略

日期: 2013-03-21 作者:Lukas Stewart翻译:蒋红冰 来源:TechTarget中国 英文

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

官方微博

TechTarget中国官方微博二维码

TechTarget中国

翻译

蒋红冰
蒋红冰

TechTarget云计算主编,主要负责云计算和虚拟化网站的内容建设。长期专注于IT前沿技术,对云计算、虚拟化、人工智能、区块链等技术都有了解;对行业趋势、市场动态有一定的洞察。

相关推荐