簡體   English   中英

我如何在Spring上注冊我的JsonSerializer

[英]How do I register my JsonSerializer on Spring

從以下問題中獲取答案: https : NullSerializer我想將NullSerializer添加到自動配置的ObjectMapper Spring Boot文檔:

任何類型為com.fasterxml.jackson.databind.Module的bean都會自動注冊到自動配置的Jackson2ObjectMapperBuilder中,並應用於它創建的任何ObjectMapper實例。 當您向應用程序中添加新功能時,這提供了一種用於貢獻自定義模塊的全局機制。

所以這就是我正在嘗試的方式:

@Configuration
public class JacksonConfig {

    @Bean
    public Module customSerializer() {
        SimpleModule module = new SimpleModule();
        module.addSerializer(new NullSerializer());
        return module;
    }
}

但我得到:

NullSerializer does not define valid handledType() -- must either register with method that takes type argument or make serializer extend com.fasterxml.jackson.databind.ser.std.StdSerializer

handleType()方法的Javadoc說:

訪問此序列化程序可以處理的對象類型的方法。 請注意,此信息不能保證准確無誤-可能是更通用的(超級類型),但不應錯誤(返回不相關的類型)。 默認實現將返回null,這實質上意味着與返回Object.class相同。 也就是說,關於處理類型一無所知。

使用Spring Boot 2.0.5.RELEASE

我認為問題在於您使用的是原始類型。 您需要給它上課。

module.addSerializer(Object.class, new NullSerializer<>());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM