序列化主要作用在返回数据的时候 以BigDecimal统一返回3位小数为例 自定义序列化处理类 继承jackson的JsonSerializer类,重写serialize方法 
public  class  BigDecimalSerializer  extends  JsonSerializer < BigDecimal > { @Override public  void  serialize ( BigDecimal  value,  JsonGenerator  jsonGenerator,  SerializerProvider  serializers)  throws  IOException  { jsonGenerator. writeString ( formatBigDecimal ( value) ) ; } private  String  formatBigDecimal ( BigDecimal  value)  { if  ( Objects . nonNull ( value)  &&  value. compareTo ( BigDecimal . ZERO )  >=  0 )  { DecimalFormat  df =  new  DecimalFormat ( ) ; df. applyPattern ( "0.000" ) ; return  df. format ( value) ; } return  null ; } 
} 
使用的时候,可以直接使用Jackson的@JsonSerialize注解     @JsonSerialize ( using =  BigDecimalSerializer . class ) private  BigDecimal  amount; 
接收前端传入数据 继承JsonDeserializer类,重写deserialize方法 例子:后端传入前端的图片链接,去掉域名,只保存path部分 
public  class  StaticUrlDeserialize  extends  JsonDeserializer < String > { @Override public  String  deserialize ( JsonParser  jsonParser,  DeserializationContext  deserializationContext)  throws  IOException  { String  text =  jsonParser. getText ( ) ; String  domain =  "https://domain/" ; String  path =  text. replace ( domain,  "" ) ; return  path; } 
} 
使用的时候,可以直接使用Jackson的@JsonDeserialize注解     @ApiModelProperty ( value =  "用户头像" ,  position =  6 ) @JsonDeserialize ( using =  StaticUrlDeserialize . class ) private  String  avatar; 
也可以使用全局统一配置 统一处理BigDecimal返回格式和日期 
@Configuration 
public  class  JacksonConfig  { @Bean public  ObjectMapper  ObjectMapper ( )  { ObjectMapper  objectMapper =  new  ObjectMapper ( ) ; SimpleModule  simpleModule =  new  SimpleModule ( ) ; simpleModule. addSerializer ( BigDecimal . class ,  new  BigDecimalSerializer ( ) ) ; simpleModule. addSerializer ( LocalDateTime . class ,  new  LocalDateTimeSerializer ( DateTimeFormatter . ofPattern ( "yyyy-MM-dd HH:mm:ss" ) ) ) ; simpleModule. addSerializer ( LocalDate . class ,  new  LocalDateSerializer ( DateTimeFormatter . ofPattern ( "yyyy-MM-dd" ) ) ) ; simpleModule. addSerializer ( LocalTime . class ,  new  LocalTimeSerializer ( DateTimeFormatter . ofPattern ( "HH:mm:ss" ) ) ) ; simpleModule. addDeserializer ( LocalDateTime . class ,  new  LocalDateTimeDeserializer ( DateTimeFormatter . ofPattern ( "yyyy-MM-dd HH:mm:ss" ) ) ) ; simpleModule. addDeserializer ( LocalDate . class ,  new  LocalDateDeserializer ( DateTimeFormatter . ofPattern ( "yyyy-MM-dd" ) ) ) ; simpleModule. addDeserializer ( LocalTime . class ,  new  LocalTimeDeserializer ( DateTimeFormatter . ofPattern ( "HH:mm:ss" ) ) ) ; objectMapper. registerModule ( simpleModule) ; return  objectMapper; } 
}