Spring Boot进阶:原理、实战与面试题分析
上QQ阅读APP看书,第一时间看更新

4.2.2 引入Spring HATEOAS

Spring HATEOAS为Spring带来了超媒体支持。它提供了一组类和资源装配器(Assembler),当资源从Spring WebMVC控制器返回时,可以实现在这些资源之前添加对应的链接。想要在Spring Boot应用程序中启用超媒体,需要将如代码清单4-46所示的HATEOAS依赖项添加到项目中。

代码清单4-46 spring-boot-starter-hateoas依赖包定义代码

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-hateoas</artifactId>
</dependency>

对于Spring HATEOAS而言,它试图解决的核心问题是链接的创建和表示的组装。在1.0版本之前,Spring HATEOAS提供了两种代表超链接的主要类型,即Resource和Resources,它们都是ResourceSupport的子类。其中,Resource表示单个资源,而Resources是资源的集合。这两种类型都能够承载指向其他资源的链接。

而在1.0版本之后,Spring HATEOAS中的模型发生了巨大的调整。ResourceSupport、Resource和Resources分别被RepresentationModel、EntityModel和CollectionModel对象取代。因此,在本书中,我们也将使用这组新的编程对象来创建资源和链接。