最新产品
This commit is contained in:
42
src/main/java/com/yj/earth/common/config/JacksonConfig.java
Normal file
42
src/main/java/com/yj/earth/common/config/JacksonConfig.java
Normal file
@ -0,0 +1,42 @@
|
||||
package com.yj.earth.common.config;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import com.yj.earth.annotation.ExcludeField;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
/**
|
||||
* Jackson配置类
|
||||
*/
|
||||
@Configuration
|
||||
public class JacksonConfig {
|
||||
|
||||
// 定义日期时间格式
|
||||
private static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
||||
|
||||
@Bean
|
||||
public ObjectMapper objectMapper() {
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
// 注册 JavaTimeModule 以支持 LocalDateTime 等日期类型
|
||||
JavaTimeModule javaTimeModule = new JavaTimeModule();
|
||||
// 配置 LocalDateTime 的序列化格式
|
||||
LocalDateTimeSerializer localDateTimeSerializer = new LocalDateTimeSerializer(
|
||||
DateTimeFormatter.ofPattern(DATE_TIME_FORMAT)
|
||||
);
|
||||
javaTimeModule.addSerializer(LocalDateTime.class, localDateTimeSerializer);
|
||||
objectMapper.registerModule(javaTimeModule);
|
||||
// 配置自定义字段过滤器
|
||||
SimpleFilterProvider filterProvider = new SimpleFilterProvider();
|
||||
filterProvider.addFilter("excludeFieldFilter", new ExcludeField.Filter());
|
||||
// 设置默认过滤器、防止未添加@JsonFilter的类报错
|
||||
filterProvider.setDefaultFilter(com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter.serializeAll());
|
||||
objectMapper.setFilterProvider(filterProvider);
|
||||
return objectMapper;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user