借助@EnableHypermediaSupport(type = HypermediaType.HAL)
Spring,hateoas 提供了一种简单方便的方式来启用 HAL 渲染。
注释触发了一些配置魔法,这里解释: https ://github.com/spring-projects/spring-hateoas#enablehypermediasupport
但是,如果您正在开发一个给定的基于 xml-config 的 spring 应用程序,那么集成 @EnableHypermediaSupport 并不容易。我尝试了很多不同的方法来启用 HAL 渲染,但没有一个解决方案能正常工作:
- 在现有的 mvc servlet xml 配置中包含一个配置类。
- 使用不同版本的 spring hateos (0.70.0, 0.80.0, 0.9.0.BUILD-SNAPSHOT),希望 0.90.0 会产生开箱即用的 HAL,因为根据 jira 问题,它应该成为默认值渲染(至少对于弹簧数据休息)。
- 使用自定义
MappingJackson2HttpMessageConverter
注册new Jackson2HalModule()
也不起作用。尽管转换器用于渲染(例如渲染日期),但输出并未在 HAL 中渲染。
因此我的问题是:如何在不使用 EnableHypermediaSupport 的情况下启用 HAL 渲染?
我故意省略了任何代码片段,因为我认为这不会有太大帮助。