如何在Spring Boot Data Rest中禁用HAL浏览器
禁用HAL的解决方案
你的项目中HAL自动启用的原因是引入了spring-boot-starter-data-rest依赖,该依赖默认集成了Spring HATEOAS,而HAL是Spring HATEOAS默认的JSON媒体类型,因此即使未引入HAL浏览器/Explorer,HAL依然会在接口中生效。
以下是两种禁用HAL的方法:
方法一:全局关闭HAL作为默认JSON媒体类型
在项目的配置文件(application.properties或application.yml)中添加如下配置:
使用application.properties
spring.hateoas.use-hal-as-default-json-media-type=false
使用application.yml
spring: hateoas: use-hal-as-default-json-media-type: false
此配置会让Spring HATEOAS默认返回普通JSON格式,而非HAL格式。
方法二:移除不必要的Data REST依赖(如果不需要Data REST功能)
如果你的项目不需要Spring Data REST提供的RESTful接口自动生成功能,可以直接从pom.xml中移除spring-boot-starter-data-rest依赖:
<!-- 移除该依赖 --> <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency> -->
移除后,HAL相关的依赖也会被间接移除,自然就不会启用HAL了。
内容的提问来源于stack exchange,提问作者Jamalianpour
相关产品推荐
相关产品推荐

