spring boot 修改 jackson string的null为空字符串

最近遇到一个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;
}
相关文章
相关标签/搜索