我有一个小模块,应该只包含我的REST服务的资源模型。我想在此模块中创建一个测试,以确保资源模型序列化和反序列化适当的HAL格式。
我有一个测试,这是配置:
@RunWith(SpringRunner::class
@SpringBootTest
@AutoConfigureJsonTesters
class MyTest {
@Autowired
private lateinit var collectionTester: JacksonTester<Resources<Entity>>
....
}
和一个非常简单的配置
@SpringBootConfiguration
class TestConfig
在Entity列表(扩展ResourceSupport)上调用collectionTester.write时,我没有得到_embedded字段,而是得到
{"links":[],"content":[...]}
不是HAL格式。
如何强制@AutoConfigureJsonTesters为我提供一个配置为HAL的ObjectMapper的JacksonTester?
Spring Boot 2.0.0.RELEASE
谢谢!
答案 0 :(得分:0)
自动配置的 JacksonTester
将使用上下文的 ObjectMapper
,它不会在其上配置任何 Spring HATEOAS 内容。您最好自己创建一个 JacksonTester
并将其传递给适当配置的 ObjectMapper
以供使用。
我相信 Spring HATEOAS 有一个模块可以应用于 ObjectMapper
来配置它。如果您对此感到困惑,那么在 gitter/spring-projects/spring-data 中询问可能是您最好的选择,因为 Spring HATEOAS 由数据团队维护,因为它被 Spring Data REST 使用。