springboot Jackson全局配置过程
作者:小花卷的dad
SpringBoot Jackson 全局配置详解,介绍如何针对单个对象属性、配置文件及自定义 ObjectMapper 进行序列化规则的配置
springboot Jackson全局配置
springboot默认使用Jackson对请求载体进行反序列化和对响应数据进行序列化,那么,在序列化过程中,当我们希望加入一些特定规则时,spring-boot提供了几种解决方案,如下。
使用Jackson注解
可针对单个对象的某个属性配置特定的序列化规则
例如:
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
private Date createDate;使用配置文件,可全局的配置特定的序列化规则
例如:
spring:
jackson:
date-format: yyyy-MM-dd hh:mm:ss注入自定义的ObjectMapper
覆盖默认的OjectMapper,可全局的配置特定的序列化规则
例如:
@Bean
public ObjectMapper objectMapper(){
ObjectMapper objectMapper = new ObjectMapper();
//日期格式
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
//设置时区
objectMapper.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
//序列化-忽略null值的属性
objectMapper.setSerializationInclusion(Include.NON_NULL);
//序列化-允许序列化空对象
objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
//反序列化-在遇到未知属性的时候不抛出异常
objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
return objectMapper;
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
