SpringBoot JSON格式化设置
SpringBoot将Jackson用作默认的JSON工具,我们可以设置全局格式
application.properties
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
application.yml
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
但是设置只能使用它格式化Java类型 java.util.Date 或 java.util.Calendar,不适用于Java8日期类型,如LocalDate和LocalDateTime。
由于MybatisPlus新 默认生成的是 LocalDateTime,上述设置无法生效。
方案:
实体字段上使用注解
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime;
或者
实现 Jackson2ObjectMapperBuilderCustomizer
@Configuration public class JacksonFormatConfig implements Jackson2ObjectMapperBuilderCustomizer{ private static final String DATE_FORMAT = "yyyy-MM-dd"; private static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; @Override public void customize(Jackson2ObjectMapperBuilder jacksonObjectMapperBuilder) { jacksonObjectMapperBuilder.serializers(new LocalDateSerializer(DateTimeFormatter.ofPattern(DATE_FORMAT))); jacksonObjectMapperBuilder.serializers(new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DATE_TIME_FORMAT))); } }