最近遇到一个spring boot用@Responsebody返回string都是null的问题,百度了一下,问题回答的都不够简洁,因此本身研究了一下解决方案spring
一、自定义objectmapperjson
/** * Created by hpx on 2018/1/31. */ public class JsonObjectMapper extends ObjectMapper { public JsonObjectMapper(){ super(); this.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() { @Override public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { jsonGenerator.writeString(StringUtils.EMPTY); } }); } }
二、修改MappingJackson2HttpMessageConverter的默认objectMapperapp
@Bean public MappingJackson2HttpMessageConverter objectMapper(){ MappingJackson2HttpMessageConverter converter=new MappingJackson2HttpMessageConverter(); converter.setObjectMapper(new JsonObjectMapper()); return converter; }