# 全局序列化与反序列化

# JacksonConfig (opens new window) & FastJsonConfig (opens new window)

  • 时间类型序列化与反序列化

    • java.util.Date类型序列化与反序列化为yyyy-MM-dd HH:mm:ss
    • java.time.LocalTime类型序列化与反序列化为HH:mm:ss
    • java.time.LocalDate类型序列化与反序列化为yyyy-MM-dd
    • java.time.LocalDateTime类型序列化与反序列化为yyyy-MM-dd HH:mm:ss
    • 如需传输其他自定义时间格式请使用java.lang.String类型进行传输`
  • 枚举类型序列化与反序列化

    注意

    所有自定义枚举类必须实现pro.haichuang.framework.base.enums.BaseEnum (opens new window)接口

    请求参数使用@RequestParam接收时, 当请求字段为pro.haichuang.framework.base.enums.BaseEnum (opens new window)中的value字段,可自动进行转换为对应枚举对象,否则抛出自定义异常

    请求参数序列化完整配置:pro.haichuang.framework.base.config.mvc.enums.EnumConverterFactory (opens new window)

  • 自动序列化/反序列化(推荐)

    当请求参数为请求体时,需要在枚举类中加入下段代码👇,其中{SelfEnum}为当前枚举类

    @JsonCreator(mode = JsonCreator.Mode.DELEGATING)
    public static {SelfEnum} resolve(String value) {
        return BaseEnum.resolve(value, {SelfEnum}.class);
    }
    
    1
    2
    3
    4
  • 注解序列化/反序列化

    当方法上带了@EnumConvertValue时,自动根据返回值进行序列化/反序列化

    @EnumConvertValue
    public String value() {
        return this.value;
    }
    
    1
    2
    3
    4
Last Updated: 12/14/2021, 5:11:19 PM