Restfulie

授权协议 Apache
开发语言 Ruby
所属分类 Web应用开发、 WEB服务/SOAP/SOA
软件类型 开源软件
地区 不详
投 递 者 翁阳曜
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

RESTfulie 是一个创建超媒体感知服务与客户端的Gem。在开发超媒体感知的服务和客户端的时候使用RESTfulie将非常容易。

下面描述了定义一个订单的例子,这一订单将经过一系列定义好的转变,比如从未结算到结算等等。它允许将各种各样的转变映射到对应的动作...

class Order < ActiveRecord::Base 
state :unpaid, :allow => [:latest, :pay, :cancel]
state :cancelled, :allow => :latest

transition :latest, {:action => :show}
transition :cancel, {:action => :destroy}, :cancelled
transition :pay, {}, :preparing
end

它将会生成诸如这样的一个基于atom的嵌入超媒体的资源表示:

<order> 
<product>basic rails course</product>
<product>RESTful training</product>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom"
href="http://www.caelum.com.br/orders/1" rel="latest" />
<atom:link xmlns:atom="http://www.w3.org/2005/Atom"
href="http://www.caelum.com.br/orders/1/pay" rel="pay" />
<atom:link xmlns:atom="http://www.w3.org/2005/Atom"
href="http://www.caelum.com.br/orders/1" rel="cancel" />

</order>

并且支持客户端调用通过消费这一资源表示而动态创建的方法:

order = Order.from_web 'http://caelum.com.br/orders/1' 
order.pay(payment)

 

  • 在十一月份,我们报道了Restfulie项目的发布,该框架用于创建对超媒体敏感的客户端和服务。最近,Guilherme Silviera将自己的Restfulie项目和RESTeasy进行了比较,后者是一个JAX-RS的实现,并质疑RESTeasy(甚至于JAX-RS)是否是构建RESTful应用的正确基础。这在社区里引起了一些讨论,因此,我们找机会采访了Guilherme,借此来搞清楚事情的来龙

  • Guilherme Silveira投稿给InfoQ告知了一个新的ruby gem包的发布,在开发超媒体感知的服务和客户端的时候使用它将非常容易。他这样说到:\ \关于什么是将rest/restful的思想运用到应用中以及它的好处是什么,已经被谈论得很多了。去年, Mark Baker 写过关于restful应用里的超媒体内容。还有更多关于 正式定义HATEOAS的尝试以及它的 优势的文章。尽管在

相关阅读

相关文章

相关问答

相关文档