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