这里先复述一下Richardson提出的REST成熟度模型,固然详细的介绍能够看我参考的连接html
这里取一张图,来自richardsonMaturityModelgit
HATEOAS(The Hypermedia As The Engine Of Application Statue)是REST架构的主要约束。“hepermedia”表示任何包含指向图片、电影、文字等资源的连接,Web是超媒体的经典例子。HATEOAS背后的思想其实很是简单,就是响应中包含指向其它资源的连接。客户端能够利用这些连接和服务器交互。github
而后咱们写个demo实践一下,是怎么样一个效果,先添加须要的依赖包:
spring
这里看到咱们主要添加了spring-boot-starter-hateoas来支持hateoas约束api
而后咱们先定义一个交互的Dto,这个须要继承org.springframework.hateoas.ResourceSupport服务器
接下来咱们就能够实现咱们的rest api接口啦架构
这时候咱们能够在swagger页面使用一下spring-boot
能够看到返回的数据中带有了links信息,客户端能够根据这些信息作相应的处理,可是总感受一切没有想的那么容易,客户端并不定会买帐。ui
之类Link类其实没有那么多信息,包含 rel 和 href 两个属性。属性 rel 表示的是连接所表示的关系(relationship),href 表示的是连接指向的资源标识符,通常是 URI。.net
附:
swagger默认访问页面
boot工程格式:http://localhost:4500/swagger-ui.html
非boot工程:http://10.166.10.169:8085/xxx/swagger-ui.html
参考:
https://my.oschina.net/crooner/blog/644825
https://blog.csdn.net/tiaya/article/details/78408098
https://martinfowler.com/articles/richardsonMaturityModel.html