是否有人知道一个REST客户端,涵盖的约束的实现的超媒体作为应用状态的引擎 (HATEOAS)?
在Sun云API似乎是一个不错的选择,从它的记录的方式,判断由作者声明该红宝石,Java和Python的实现是在作品中的效果。 但到目前为止,我没有发现任何代码的痕迹。
我在找什么 - 甚至在部分实施将是有益的。
是否有人知道一个REST客户端,涵盖的约束的实现的超媒体作为应用状态的引擎 (HATEOAS)?
在Sun云API似乎是一个不错的选择,从它的记录的方式,判断由作者声明该红宝石,Java和Python的实现是在作品中的效果。 但到目前为止,我没有发现任何代码的痕迹。
我在找什么 - 甚至在部分实施将是有益的。
你应该看看的第一件事情是常见的Web浏览器。 正是出于这一涵盖HATEOAS(至少在一定程度上)的客户端的标准。
这是超媒体是如何工作的。 它是如此简单,它几乎痛苦:
http://pigs-are-cool.org/
现在两个方面如何与网页浏览体验的简短说明:
所以HATEOAS实际上描述了在Web浏览器中会发生什么,当你去从网页到网页:
HTML页面的嵌入式链接开什么你在浏览器在任何时间点看
术语HATEOAS只是这个浏览体验的抽象。
REST风格的客户端应用程序的其它例子包括:
REST式客户端软件的一些特征:
<img src=
)一些手动(如<a href=
)。 很多时候,他们是由用户驱动的,并能正确地被称为“用户代理”,除了,说了Googlebot。
Restfulie是一个Ruby,Java和C#的框架,目的在于使建筑客户端和服务器其采用HATEOAS。 我没有用它,但它看起来有趣。
下面是一些示例代码的Java项目 :
Order order = new Order();
// place the order
order = service("http://www.caelum.com.br/order").post(order);
// cancels it
resource(order).getTransition("cancel").execute();
同样,我不知道到底是什么这样做,或有多好它的工作原理在实践中,但它似乎耐人寻味。
与REST HTTP和HATEOAS的问题是,存在于指定链接,这样就很难跟踪链接,因为它们的结构可能会从服务提供商到另一个变化没有常见的方法。 有些人会使用<link href="..." />
其他人会使用专有结构的链接恩。 <book href="..." />
它不是在HTML或原子是链接等定义的标准的一部分。
客户端无法知道一个链接是什么在你的表现是它不知道你的媒体类型,除非有一个环节的标准或常规表示
该HATEOAS设计原理(REST是一套设计原则也)意味着每个资源应该有至多一个单一固定的URL。
其他一切相关的应该是发现动态地从通过“超媒体”链接,URL。
我刚开始一个维基百科存根这里
丰富,
我现在很努力的泽西一个RESTful客户端框架。 一旦最初的设计stabelizes位将被添加到泽西代码库,并通过社区开展的审查最终应该带动JAX-RS的客户端框架的形状后。
已经有泽西用户列表最近关于万物的RESTful上了热烈的讨论。 https://jersey.dev.java.net/servlets/SummarizeList?listName=users
它应该是两个星期左右,从现在的代码去公众在第一时间对人进行试验。
一月
Spring的RestTemplate可以用来达到目的。 检查此文章的详细信息。