我之前项目是springboot 2.2的版本
后面升级到了2.7 对LocalDateTime字段进行序列化就会产生上面的问题
直接上代码
依赖
gradle
implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.2'
implementation 'com.fasterxml.jackson.core:jackson-core:2.11.2'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.2'
上面注意, 版本就是 2.11.2, 再高就还是会报错
JacksonConfig
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JacksonConfig {
@Bean
@Primary
public ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
// 注册Java时间模块以支持Java 8日期和时间API
objectMapper.registerModule(new JavaTimeModule());
// 对于其他自定义配置,可以继续在这里添加
// 例如,要忽略未知的JSON字段,可以使用:
// objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return objectMapper;
}
}
网上有很多的解决方法, 我也是参考了
解决报错InvalidDefinitionException Java 8 date/time type LocalDateTime not supported by default jsr310-CSDN博客