spring-boot 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;
    }

你可能感兴趣的:(springboot笔记,spring,boot,java,spring)