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的优势
- 位置透明
用户只需要知道逻辑的链接名,而不需要知道具体的url
- 解耦合交易的信息
不把用户需要访问的url地址位置固定,而是通过请求返回,则服务器端可以自由的修改逻辑了更新uri而不影响客户端
- 减少状态交换的错误
分享到:
相关推荐
5. **JAX-RS 2.0**: Java API for RESTful Web Services的第二个主要版本,添加了超媒体作为应用程序状态的驱动(HATEOAS)支持,改进了客户端API,引入了统一异常处理和链接构建功能。 6. **CDI 1.1**: 依赖注入...
- 介绍如何在SpringBoot中集成JAX-RS和Jersey。 - **5.5.3 内嵌Servlet容器** - 说明SpringBoot如何内置Servlet容器。 #### 六、结论与建议 本文档覆盖了SpringBoot的基础知识以及高级特性,旨在帮助开发者全面...
28.3.JAX-RS和Jersey 28.4.嵌入式Servlet容器支持 28.4.1.Servlet,过滤器和监听器 注册Servlet,过滤器和监听器Spring Beans 28.4.2.Servlet上下文初始化 扫描Servlet,过滤器和侦听器 28.4...
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变换用的高斯窗函数( 高斯窗是指数窗的一种,它也无负的旁瓣,而且没有旁瓣波动,因而不回引起计算谱中假的极大值或极小值,而且高斯窗频率窗函数的主瓣比指数窗的主瓣窄,分辨率比指数窗有所提高。
2021科大讯飞车辆贷违预测大赛冠军源码+全部资料.zip [资源说明] 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!
AI图像处理工具包-一键抠图、背景切换、旧照片修复、人像漫画化、视频卡通化(Python+OpenCV+Dlib+TensorFlow).zip [资源说明] 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!
基于java+springboot+vue+mysql的远程教育网站设计与实现.docx
毕业设计资料,计算机毕业设计,源码,毕业论文,毕业答辩,答辩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等蓝牙模块,实现单片机设备与手机通讯,安卓手机,蓝牙调试助手,具有按键功能!
TriLib 2 是一个跨平台的运行时 3D 模型导入器