1

我为我的实体编写了一个 UnwrappingBeanSerializer。目前这个序列化程序是使用ConfigureJacksonObjectMapper注册的

该序列化程序适用于从 spring-data-rest 生成的 REST API。但是我@RestController对同一个实体有一个自定义,但是它不知道在 spring-data-rest 配置中注册的序列化程序。

我想UnwrappingBeanSerializer在 spring-data-rest API 和我的自定义控制器中序列化我的响应。

如何做到这一点?

我也尝试过@JsonSerialize我的实体类。但我无法为unWrappingBeanSerializerwith创建 beanBeanSerializerBase

4

1 回答 1

1

常规@RestControllerSpring Data REST控制器具有不同的流程和配置。如果您正在使用Spring Data REST,则最好使用@RepositoryRestController同一资源的自定义端点,这将使用相同的Spring Data REST链及其配置,就像您在ConfigureJacksonObjectMapper中使用的那样,否则您ObjectMapper仅对Spring Data REST.

如果您想为两者都拥有@RestController并使用相同ObjectMapper的配置 - 您需要有两种配置:一种用于Spring Data REST(就像您已经拥有的那样),另一种用于常规控制器,所以只需在 Spring 上下文中注册它(例如,如果您使用的是 Spring MVC ,请参阅自定义 Jackson ObjectMapper)。

于 2016-11-05T10:43:33.093 回答