`
liugang594
  • 浏览: 990671 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAX-RS入门 十一:HATEOAS

 
阅读更多

HATEOAS全称:超媒体即状态应用引擎 (Hypermedia As The Engine Of Application State)。

 

一、Atom Links

 

RESTful使用Atom Syndication Format来实现HATEOAS。Atom Links 也是一种xml元素结构,例如:

<customers>
	<link rel="next"
		href="http://example.com/customers?start=2&size=2"
		type="application/xml"/>
	<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的优势

  1. 位置透明
    用户只需要知道逻辑的链接名,而不需要知道具体的url
  2. 解耦合交易的信息
    不把用户需要访问的url地址位置固定,而是通过请求返回,则服务器端可以自由的修改逻辑了更新uri而不影响客户端
  3. 减少状态交换的错误

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    javaee7api.zip

    5. **JAX-RS 2.0**: Java API for RESTful Web Services的第二个主要版本,添加了超媒体作为应用程序状态的驱动(HATEOAS)支持,改进了客户端API,引入了统一异常处理和链接构建功能。 6. **CDI 1.1**: 依赖注入...

    SpringBoot中文手册

    - 介绍如何在SpringBoot中集成JAX-RS和Jersey。 - **5.5.3 内嵌Servlet容器** - 说明SpringBoot如何内置Servlet容器。 #### 六、结论与建议 本文档覆盖了SpringBoot的基础知识以及高级特性,旨在帮助开发者全面...

    Spring Boot中文文档.rar

    28.3.JAX-RS和Jersey 28.4.嵌入式Servlet容器支持 28.4.1.Servlet,过滤器和监听器 注册Servlet,过滤器和监听器Spring Beans 28.4.2.Servlet上下文初始化 扫描Servlet,过滤器和侦听器 28.4...

    springboot参考指南

    JAX-RS和Jersey iii. 26.3. 内嵌servlet容器支持 i. 26.3.1. Servlets和Filters ii. 26.3.2. EmbeddedWebApplicationContext iii. 26.3.3. 自定义内嵌servlet容器 iv. 26.3.4. JSP的限制 vi. 27. 安全 vii. 28. ...

    S变换+Sockwell R G , Mansinha L , Lowe R P . Localization of the complex spectrum: the S transformJ

    s变换用的高斯窗函数( 高斯窗是指数窗的一种,它也无负的旁瓣,而且没有旁瓣波动,因而不回引起计算谱中假的极大值或极小值,而且高斯窗频率窗函数的主瓣比指数窗的主瓣窄,分辨率比指数窗有所提高。

    2021科大讯飞车辆贷违预测大赛冠军源码+全部资料.zip

    2021科大讯飞车辆贷违预测大赛冠军源码+全部资料.zip [资源说明] 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!

    AI图像处理工具包-一键抠图、背景切换、旧照片修复、人像漫画化、视频卡通化(Python+OpenCV+Dlib+TensorFlow).zip

    AI图像处理工具包-一键抠图、背景切换、旧照片修复、人像漫画化、视频卡通化(Python+OpenCV+Dlib+TensorFlow).zip [资源说明] 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!

    基于java+springboot+vue+mysql的远程教育网站设计与实现.docx

    基于java+springboot+vue+mysql的远程教育网站设计与实现.docx

    springboot005学生心理咨询评估系统(源码+数据库+论文+PPT+包调试+一对一指导)

    毕业设计资料,计算机毕业设计,源码,毕业论文,毕业答辩,答辩PPT,Java毕业设计,php毕业设计,ASP.NET毕业设计,毕业指导,计算机作业,php作业,java作业,ASP.NET作业,编程作业,管理系统,网站,app,毕业设计学习,Java学习,php学习,ASP.NET学习,java课程,php课程,ASP.NET课程,答辩技巧,SQLSERVER数据库,Mysql数据库,jdbc,SSM框架,SpringBoot框架,Html5,小程序

    蓝牙串口助手,可以连接HC-05等蓝牙模块,实现单片机设备与手机通讯,安卓手机,蓝牙调试助手,具有按键功能!

    蓝牙串口助手,可以连接HC-05等蓝牙模块,实现单片机设备与手机通讯,安卓手机,蓝牙调试助手,具有按键功能!

    TriLib-2-Model-Loading-Package-2.3.7.unitypackage

    TriLib 2 是一个跨平台的运行时 3D 模型导入器

Global site tag (gtag.js) - Google Analytics