| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.ydtech.config;
- import cn.hutool.core.util.StrUtil;
- import com.fasterxml.jackson.core.JsonParser;
- import com.fasterxml.jackson.databind.DeserializationContext;
- import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer;
- import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
- import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
- import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.util.StringUtils;
- import java.io.IOException;
- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- /**
- * @author wenks
- * @version 0.0.2
- * @description LocalDateTime 全局配置
- * @date 2023/5/17 17:50
- */
- @Configuration
- public class LocalDateTimeConfig {
- private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- /**
- * 序列化内容
- * LocalDateTime -> String
- * 服务端返回给客户端内容
- */
- @Bean
- public LocalDateTimeSerializer localDateTimeSerializer() {
- return new LocalDateTimeSerializer(dateTimeFormatter);
- }
- /*
- * 反序列化内容
- * String -> LocalDateTime
- * 客户端传入服务端数据
- * */
- @Bean
- public LocalDateTimeDeserializer localDateTimeDeserializer() {
- return new LocalDateTimeDeserializer(dateTimeFormatter);
- }
- @Bean
- public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
- return builder -> {
- builder.serializerByType(LocalDateTime.class, localDateTimeSerializer());
- builder.deserializerByType(LocalDateTime.class, localDateTimeDeserializer());
- builder.deserializerByType(String.class,
- new StdScalarDeserializer<String>(String.class) {
- private static final long serialVersionUID = 8744775952505486332L;
- @Override
- public String deserialize(JsonParser jsonParser, DeserializationContext ctx) throws IOException {
- String res = StringUtils.trimWhitespace(jsonParser.getValueAsString());
- return StrUtil.isBlank(res) ? null : res;
- }
- });
- };
- }
- }
|