JAX-RS入门 十一:HATEOAS
2014-04-25 22:58
197 查看
转载自:/article/3840162.html
HATEOAS全称:超媒体即状态应用引擎 (Hypermedia As The Engine Of Application State)。
一、Atom Links
RESTful使用Atom Syndication Format来实现HATEOAS。Atom Links 也是一种xml元素结构,例如:
Xml代码
<customers>
<strong><link rel="next"
href="http://example.com/customers?start=2&size=2"
type="application/xml"/></strong>
<customer id="123">
<name>Bill Burke</name>
</customer>
<customer id="332">
<name>Roy Fielding</name>
</customer>
</customers>
其中:
rel属性
链接的简单说明和文本显示,也标明了此链接的意义,例如上面标明链接到下一页(或下一个其他的东西),等同于html中<a>元素上的标签
href属性
链接到的地址
type属性
定义交换数据类型
hreflang属性
定义交换数据类型的语种,例如法语、英语、德语等等(上面例子中未介绍)
当客户端收到一个返回的信息中嵌有Atom links,它就去查找它感兴趣的链接,然后调用它。
二、在WebServices中使用HATEOAS的优势
位置透明
用户只需要知道逻辑的链接名,而不需要知道具体的url
解耦合交易的信息
不把用户需要访问的url地址位置固定,而是通过请求返回,则服务器端可以自由的修改逻辑了更新uri而不影响客户端
减少状态交换的错误
HATEOAS全称:超媒体即状态应用引擎 (Hypermedia As The Engine Of Application State)。
一、Atom Links
RESTful使用Atom Syndication Format来实现HATEOAS。Atom Links 也是一种xml元素结构,例如:
Xml代码
<customers>
<strong><link rel="next"
href="http://example.com/customers?start=2&size=2"
type="application/xml"/></strong>
<customer id="123">
<name>Bill Burke</name>
</customer>
<customer id="332">
<name>Roy Fielding</name>
</customer>
</customers>
其中:
rel属性
链接的简单说明和文本显示,也标明了此链接的意义,例如上面标明链接到下一页(或下一个其他的东西),等同于html中<a>元素上的标签
href属性
链接到的地址
type属性
定义交换数据类型
hreflang属性
定义交换数据类型的语种,例如法语、英语、德语等等(上面例子中未介绍)
当客户端收到一个返回的信息中嵌有Atom links,它就去查找它感兴趣的链接,然后调用它。
二、在WebServices中使用HATEOAS的优势
位置透明
用户只需要知道逻辑的链接名,而不需要知道具体的url
解耦合交易的信息
不把用户需要访问的url地址位置固定,而是通过请求返回,则服务器端可以自由的修改逻辑了更新uri而不影响客户端
减少状态交换的错误
相关文章推荐
- 微信公众帐号开发教程第4篇-消息及消息处理工具的封装
- ./configure,make,make install的作用
- 用lnmp与cacti实现网络监控
- JAX-RS入门 十二: 可伸缩的JAX-RS应用
- Ruby On Rails 导出数据库至CSV文件
- JavaSE I/O 输出字节流 OutputStream
- 类成员函数的重载、覆盖和隐藏(重写)的区别
- extern "C"用法
- BoF meets HOG 论文笔记
- WCF学习-WCF的ABC(2)
- Spring集成Quartz实战
- HTTP协议头部与Keep-Alive模式详解
- matlab-双目标定及场景重建
- Use GraceNote SDK in iOS(一)通过序列化的GDO查询专辑封面
- 推荐一款HTML原型设计工具
- 动态规划 删除消息
- <linux><grub 0.97>三重引导,基本无解,除非重做硬盘
- C语言-----Scanf原理
- 【数据结构】 串的基本操作
- LeetCode——Two Sum