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