SpringBoot 中配置日期格式
SpringBoot 中配置日期格式
这个错误提示表明在尝试将一个字符串转换成 java.util.Date
类型时失败了,因为字符串的格式不符合预期的日期格式。在你的情况下,字符串 “2024-03-14 18:55:55” 似乎不符合默认的日期格式。
解决这个问题的方法之一是告诉 Spring Boot 如何正确解析日期格式。你可以在相应的 POJO 类上使用 @JsonFormat
注解来指定日期格式,或者在全局配置中设置日期格式。
以下是两种解决方案的示例:
在 POJO 类上使用 @JsonFormat 注解:
import com.fasterxml.jackson.annotation.JsonFormat;
public class YourModelClass {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date yourDateField;
// Getters and setters
}
这样设置之后,Spring Boot 将会使用指定的格式来解析日期。
在全局配置中设置日期格式:
你可以在 Spring Boot 的配置文件中设置全局的日期格式。
在 application.properties
文件中添加以下配置:
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
或者在 Java 配置类中配置:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.util.StdDateFormat;
@Configuration
public class JacksonConfig {
@Bean
public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) {
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
objectMapper.setDateFormat(new StdDateFormat().withColonInTimeZone(true));
return objectMapper;
}
}
这样设置之后,Spring Boot 应该能够正确地解析日期字符串了。
大家好,我是xwhking,一名技术爱好者,目前正在全力学习 Java,前端也会一点,如果你有任何疑问请你评论,或者可以加我QQ(2837468248)说明来意!希望能够与你共同进步