HATEOAS HAL
文章目录
- HATEOAS (Hypermedia as the Engine of Application State)
- HAL(Hypertext Application Language)
- HAL Browser
- Spring HATEOAS
- Spring Data Rest
HATEOAS (Hypermedia as the Engine of Application State)
hateoas links 超媒体即应用状态引擎,是一种rest最高级使用标准
wiki百科
https://en.wikipedia.org/wiki/HATEOASmicrosoft定义
https://docs.microsoft.com/en-us/azure/architecture/best-practices/api-design#use-hateoas-to-enable-navigation-to-related-resourcesSpringBoot HATEOAS 用法简介
https://www.cnblogs.com/mzq123/p/11747845.html
- 主要功能:提供一种前后端交互方式,不再依赖api文档
在返回结果中提供链接,连向其他API方法。客户端通过链接就能知道服务端提供哪些api
大白话就是:在输出资源的时候,把资源相关的资源操作和对应的链接也带上!
最理想的情况是构造成资源网络一样,根据这些额外的信息,可以实现资源发现。
- REST 成熟度模型:将REST划作了由低到高四个等级
- 第一个层次(Level 0)的 Web 服务只是使用 HTTP 作为传输方式
【实际上只是远程方法调用(RPC)的一种具体形式。SOAP 和 XML-RPC 都属于此类。】 - 第二个层次(Level 1)的 Web 服务引入了资源的概念。每个资源有对应的标识符和表达。
- 第三个层次(Level 2)的 Web 服务使用不同的 HTTP 方法来进行不同的操作,并且使用 HTTP 状态码来表示不同的结果。
【如 GET 方法来获取资源,POST创建资源,PUT更新资源,DELETE 方法来删除资源。】 - 第四个层次(Level 3)的 Web 服务使用 HATEOAS。在资源的表达中包含了链接信息。客户端可以根据链接来发现可以执行的动作。
- 第一个层次(Level 0)的 Web 服务只是使用 HTTP 作为传输方式
HAL(Hypertext Application Language)
- 官网
https://stateless.group/hal_specification.html
HAL 是资源表示的特定格式,可用于实现 HATEOAS
- HAL 模型包括:
- 链接
- 内嵌资源
- 状态
HAL Browser
- 项目添加依赖
<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-rest-hal-browser</artifactId>
</dependency>
用浏览器打开 ip:port/api
可以查看美化后的HAL风格数据
Spring HATEOAS
- https://docs.spring.io/spring-hateoas/docs/1.0.1.RELEASE/reference/html/
提供了一些 API 来简化在使用 Spring 尤其是 Spring MVC 时创建遵循HATEOAS原则的 REST 表示
Spring Data Rest
Spring Data Rest 是基于 Spring Data repositories,分析实体之间的关系。为我们生成Hypermedia API(HATEOAS)风格的Http Restful API接口。
HATEOAS HAL相关推荐
- 使用 Spring HATEOAS 开发 REST 服务--转
原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-SpringHATEOAS/index.html?ca=drs-&utm_source ...
- HATEOAS 约束
HATEOAS 约束 HATEOAS(Hypermedia as the engine of application state)是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核 ...
- 使用 Spring HATEOAS 开发 REST 服务
使用 Spring HATEOAS 开发 REST 服务 Comments 1 绝大多数开发人员对于 REST 这个词都并不陌生.自从 2000 年 Roy Fielding 在其博士论文中创造出来这 ...
- REST-HATEOAS
一般我们开发的REST服务都是基于REST-1或者REST-2的服务(REST成熟度模型,0-3级),但是这种方法有一种弊端就是耦合度比较高,后端更改了接口链接,前端也必须同步更改. 绝大多数开发人员 ...
- HATEOAS REST Service
用户通过点击页面的href的链接地址,而跳转到其他网页,实现浏览网页的过程了. -> 让调用REST的api就可以实现,类似于用户浏览网页的从一个页面跳转到另外一个页面的过程了 -> 而这 ...
- 架构之:REST和HATEOAS
文章目录 简介 HATEOAS简介 HATEOAS的格式 HATEOAS的Spring支持 总结 简介 我们知道REST是一种架构方式,它只是指定了六种需要遵循的基本原则,但是它指定的原则都比较宽泛, ...
- HATEOAS的RESTful服务。 记录超媒体API
1.简介 希望本教程的前一部分不仅揭示了超媒体和HATEOAS的深远影响,而且使我们确信这些都是RESTful Web服务和API的基本构建块. 在这一部分中,我们将继续侧重于文档方面,以解决如何预先 ...
- HATEOAS的RESTful服务。 超媒体:REST的秘密要素
在这篇文章中,我们将介绍有关HATEOAS的RESTful服务的综合文章. 超媒体是REST的秘密成分. 1.简介 在本教程的前一部分中,我们花了一些时间来刷新有关REST体系结构样式的基本原理的知识 ...
- spring hateoas初体验
前一段时间学习工作流偶然接触到了hateoas,感觉比较有意思,虽然用的不是那么多,但是加强了自己对restful的理解. hateoas简介 HATEOAS是Hypertext As The Eng ...
最新文章
- nefu 1029 字符串
- 2012-12-21
- centos8中一键安装Nginx
- Java项目之家庭记账软件
- beautifulsoup 搜索第二个标签_自定义网站搜索教程
- LeetCode(783)——二叉搜索树结点最小距离(JavaScript)
- 2021-2025年中国超本地服务行业市场供需与战略研究报告
- JSPatch源码解读
- 农民伯伯 谈 接口 [interface]
- python ant_python3.7.1ant+TKinter在Tkin中显示来自ANT+设备的实时数据
- graphpad细胞增殖曲线_Graphpad 作图教程 | 这份超详细的生存曲线绘制指南,科研新手一看就会!...
- linux系统进入管理员命令行,电脑如何进入管理员命令提示符
- 专注世界排名的Alexa.com宣布关站
- 分段式多级离心泵_分段式多级离心泵的组装与调整
- PostgreSQL multixact日志管理器说明
- 08 量子力学教材推荐,量子力学书单:量子力学、高等量子力学、量子统计、量子信息、路径积分...(适合物理专业本科生、研究生、物理爱好者)
- C 统计数字和大写字母和小写字母的个数
- 13. 线性动态电路的复频域分析
- Elasticsearch基础整理 脑图
- 拍照怎么测量尺寸?这些方法可以了解一下