联教编辑报错

This commit is contained in:
2026-09-20 15:24:07 +08:00
parent 5e3bee9c5f
commit f5a5c89ee3
6 changed files with 165 additions and 21 deletions
@@ -0,0 +1,37 @@
package com.roomroot.framework.config;
import org.springframework.boot.jackson.autoconfigure.JsonMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import tools.jackson.databind.ext.javatime.deser.LocalDateTimeDeserializer;
import tools.jackson.databind.json.JsonMapper;
import tools.jackson.databind.module.SimpleModule;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
/**
* 兼容前端常用的 {@code yyyy-MM-dd HH:mm:ss} 与 ISO {@code yyyy-MM-ddTHH:mm:ss}。
*/
@Configuration
public class JacksonConfig {
@Bean
public JsonMapperBuilderCustomizer flexibleLocalDateTimeCustomizer() {
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.append(DateTimeFormatter.ISO_LOCAL_DATE)
.optionalStart()
.optionalStart().appendLiteral('T').optionalEnd()
.optionalStart().appendLiteral(' ').optionalEnd()
.append(DateTimeFormatter.ISO_LOCAL_TIME)
.optionalEnd()
.toFormatter();
return (JsonMapper.Builder builder) -> {
SimpleModule module = new SimpleModule("FlexibleLocalDateTime");
module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(formatter));
builder.addModule(module);
};
}
}