最近遇到一個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; }