【问题标题】:Jackson datetime not getting serialized. bad request杰克逊日期时间没有被序列化。错误的请求
【发布时间】:2014-03-03 08:04:33
【问题描述】:

我正在使用 Spring 框架并致力于 REST Web 服务。我的一项休息服务插入/更新存储在我的 MySQL 数据库表的一列中的日期时间值。我使用的类型是日期时间。我的 JSON 请求如下所示:

                 {
                    "userId": "1",
                     "dateOfBirth": "1987-02-06 15:53:12",      

                 }

Spring 已配置为使用 Jackson 作为消息转换器。 java 对象中的 dateOfBirth 字段属于 java.util.Date 类型。我面临的问题是,当我使用上述 json 请求访问其余服务时,请求变为错误请求。我认为它与日期时间转换有关,杰克逊无法将其转换为日期对象。任何帮助将不胜感激。

【问题讨论】:

  • spring 是否能够接受请求并将其映射到对象,但随后数据库操作失败,或者 spring/jackson 事件无法将请求映射到对象?
  • 尝试使用 ISO 日期格式。
  • 将您的记录器设置为调试并检查。
  • @Ralph - 我收到错误请求,因此在数据库操作之前失败。

标签: javascript spring spring-mvc jackson


【解决方案1】:

可以尝试通过扩展 JsonSerializer 和 JsonDeserializer 类来创建客户序列化器/反序列化器,然后用它们注释日期字段,请参阅以下 2 个帖子:

How to deserialize JS date using Jackson?

Spring 3.1 JSON date format

【讨论】:

    猜你喜欢
    • 2017-04-25
    • 2020-04-21
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 2021-01-26
    • 2019-08-04
    相关资源
    最近更新 更多