java - 无法使用 Spring Boot 将日期时间保存到 MongoDB

标签 java mongodb spring-boot

我使用 Spring Boot,并尝试在 MongoDB 中保存一些日期。我输入的日期是

"2017-08-14T12:59"

我在保存时遇到此错误:

 Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Failed to parse Date value '2017-08-14T12:59': Can not parse date "2017-08-14T12:59.000Z": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSS'Z'', parsing fails (leniency? null); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Failed to parse Date value '2017-08-14T12:59': Can not parse date "2017-08-14T12:59.000Z": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSS'Z'', parsing fails (leniency? null) (through reference chain: 

在我的 POJO 中我尝试这样:

@JsonDeserialize(using= CustomDateDeserialize.class)
private Date inputDateTime;

我已经实现了这样的反序列化器:

private SimpleDateFormat dateFormat = new SimpleDateFormat(
            "yyyy-MM-dd HH:mm");

    @Override
    public Date deserialize(JsonParser paramJsonParser,
            DeserializationContext paramDeserializationContext)
            throws IOException, JsonProcessingException {
        String str = paramJsonParser.getText().trim();
        try {
            return dateFormat.parse(str);
        } catch (ParseException e) {

        }
        return paramDeserializationContext.parseDate(str);
    }

我还想念这里什么?任何帮助表示赞赏。

最佳答案

您需要修改解串器中的格式。

SimpleDateFormat dateFormat = new SimpleDateFormat( “yyyy-MM-dd'T'HH:mm”);

无论如何 simpledatetimeformat 都不是线程安全的。如果你java8使用DateTimeFormat。

关于java - 无法使用 Spring Boot 将日期时间保存到 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45658195/

相关文章:

java - 为了在 Swing 中执行多对象验证,应该通过异常或返回 Result 对象来报告验证失败?

java - 在类中使用 findViewById 时出现问题

php - mongodb聚合框架按两个字段分组

java - 如何在 Mac 上获取 Java 9 中的桌面路径

java - applicationContext.xml 不读取 servletContext.contextPath

ruby-on-rails - 在 mongo 分片环境中排序会降低性能

java - 将文档插入满足两个条件的文档中

java - Spring JPA - 如何使用复合键(EmbeddedID)保存对象

java - 如何使用 @ConfigurationProperties 和 @Autowired 测试类

java - 使用注释注入(inject)替换通过 XML 进行的 Spring bean 注入(inject)