2016-11-04 72 views
1

我爲我的實體寫了一個UnwrappingBeanSerializer。目前,這個序列化器是使用ConfigureJacksonObjectMapper如何爲spring-data-rest和我的@RestController類寫單個objectMapper

註冊的。該序列化器對於從spring-data-rest生成的REST API工作正常。但是我爲同一個實體定製了@RestController,但它不知道在spring-data-rest配置中註冊的序列化程序。

我想序列化我的響應UnwrappingBeanSerializer在spring-data-rest APIs和我的自定義控制器。

如何實現這一目標?

我也在我的實體類上嘗試過@JsonSerialize。但我無法創建unWrappingBeanSerializer豆與BeanSerializerBase

回答

1

定期@RestControllerSpring Data REST控制器有不同的流量和配置。如果你正在使用Spring Data REST,你最好使用@RepositoryRestController對同一資源的定製終端,這將使用相同的Spring Data REST鏈及其配置,就像你在ConfigureJacksonObjectMapper所使用的,否則你ObjectMapper僅供Spring Data REST是可見的。

如果你想擁有@RestController和使用上是相同的ObjectMapper - 你需要有兩種配置:一個用於Spring Data REST(像你已經擁有),另一個是常規控制器,所以只需註冊它的Spring上下文(例如,如果您使用的是Spring MVC,請參閱Customize the Jackson ObjectMapper)。

相關問題