谁能告诉我如何在Spring Rest中使用杰克逊映射器输出null到空值?

时间:2018-08-30 06:47:11

标签: spring spring-mvc jackson spring-restcontroller spring-rest

我已经尝试了以上在stackoverflow上找到的解决方案。但是他们没有按照我希望控制器做的做。我不想在每个类中更改getter / setter方法,以将空值转换为空值。我正在寻找一种解决方案,也许可以通过配置使用对象映射器在全局级别上做到这一点。

2 个答案:

答案 0 :(得分:0)

将此bean添加到您的配置类中:

@Bean
    public Jackson2ObjectMapperBuilder configureObjectMapper() {
        Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
        ObjectMapper objectMapper = new ObjectMapper();
        SimpleModule module = new SimpleModule();
        module.addSerializer(new NullSerializer());
        objectMapper.registerModule(module);
        builder.configure(objectMapper);
        return builder;
    }

NullSerializer类:

public class NullSerializer extends JsonSerializer<Object> {
    @Override
    public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
        // any JSON value you want...
        gen.writeString("");
    }
}

答案 1 :(得分:0)

谢谢,这个解决方案不起作用...我已经提到我尝试了堆栈溢出解决方案,但它们不起作用。即使不为null的值也不再打印任何内容。