设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

Spring对基于REST的Web-Ser增HATEOAS支持

2013-6-12 10:23| 发布者: joejoe0332| 查看: 7309| 评论: 1|原作者: Jan Stenberg|来自: InfoQ

摘要:   Spring Framework目前正在为超文本驱动的REST web services添加HATEOAS(超媒体即应用状态引擎)支持。HATEOAS主要专注于以类库的方式,为简化超媒体链接的创建,以及在和 Spring(特别是Spring MVC)一起使用时 ...

  Spring Framework目前正在为超文本驱动的REST web services添加HATEOAS(超媒体即应用状态引擎)支持。HATEOAS主要专注于以类库的方式,为简化超媒体链接的创建,以及在和 Spring(特别是Spring MVC)一起使用时对REST资源表述进行装配提供API。

  XML和 JSON

  该类库提供了一系列类型去简化XML和JSON的操作。

  链接

  Spring HATEOAS类库提供了若干个类参与链接(links)和关联(relations)相关工作。

  类用于创建和保持链接,它采用Atom的链接定义方式,通过relhref属性去描述一个链接。当使用XML时,链接将在Atom命名空间中呈现。

  在创建URI字符串时,一个常见的​​问题是在代码中到处充斥着重复的字符串常量。ControllerLinkBuilder类解决了这个问题,它从当前请求的URI中提取基础URI,然后将Controller类中的根路径映射添加到对应的资源中,从而组合成一个完整的URI。

  当资源以实体类的方式直接表述时,Spring HATEOAS提供了类来为这些实体类型创建链接,使其指向一个集合类资源或单一的资源。

  当使用超媒体时,查找某个特定关联的对应链接是很常见的。Spring HATEOAS对此提供了LinkDiscoverer类进行支持。

  资源

  Spring HATEOAS包含了一个基类ResourceSupport,当需要创建资源类时可以继承这个类。举个例子,它对链接提供了支持。

  另一个基类ResourceAssemblerSupport有助于减少在实体和资源之间进行映射和为资源增加链接时所需的代码量。该类还能够建立单一的资源或资源集合。

  Geraint Jones基于一个简单的场景编写了一个使用Spring HATEOAS的例子 。

  在JAX 2013大会上,Martin Lippert的“使用Spring和JavaScript的当代架构”的演讲中也包含了对Spring HATEOAS的介绍。

  Spring HATEOAS 类库目前处于0.5版本的阶段,并且正在为 0.6版本继续努力着。

  查看英文原文:Spring adds HATEOAS Support to REST Based Web Services


酷毙
1

雷人

鲜花
1

鸡蛋

漂亮

刚表态过的朋友 (2 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部