为使前后端的处理逻辑一致,在返回值序列化时,统一根据字段名的循序排序。
示例代码:
同时过滤了值为 null 的字段。
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.MapperFeature;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.springframework.boot.autoconfigure.jackson.JacksonProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JacksonConfig {
@Bean
JacksonProperties jacksonProperties() {
JacksonProperties properties = new JacksonProperties();
properties.setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL);
properties.getMapper().put(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);
properties.getSerialization().put(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true);
return properties;
}
}
参考:
- springboot通过javaconfig配置jackson
- Jackson ObjectMapper - specify serialization order of object properties
版权声明:本文为博主「佳佳」的原创文章,遵循 CC 4.0 BY-NC-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:www.liujiajia.me/2021/4/28/s…