我已经尝试过在stackoverflow上找到的上面的解决方案。但是他们并没有做我想让控制器做的事情。我不想在每个类中更改getter / setter方法以将空值转换为空值。我正在寻找一个解决方案,这将允许我使用对象映射器,通过配置在全局级别执行此操作。
在配置类中添加此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("");
}
}
谢谢,这个解决方案不起作用......我已经提到我已经尝试过堆栈溢出解决方案而且它们不起作用。它不再打印任何东西,即使是非空的值。