【问题标题】:How to write single objectMapper for spring-data-rest and to my @RestController class如何为 spring-data-rest 和我的 @RestController 类编写单个 objectMapper
【发布时间】:2016-11-04 13:29:26
【问题描述】:

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

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

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

如何做到这一点?

我还尝试在我的实体类上使用@JsonSerialize。但我无法使用BeanSerializerBaseunWrappingBeanSerializer 创建bean

【问题讨论】:

    标签: serialization spring-boot spring-data-rest jackson2


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 2021-08-14
      • 1970-01-01
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多