联教编辑报错
This commit is contained in:
+37
@@ -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);
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user