java - 处理 API 请求时出现 MismatchedInputException
问题描述
我在接受 json 请求的 RestController 中定义了一个 API。输入的 pojo 如下所示。
class A{
class List<SharedModel> sharedModels;
}
SharedModel 看起来像这样。
class SharedModel {
DateTime datetime;
}
现在在 curl 调用中,json 请求有效负载是这样的
{[
{ "datetime" : "2020-01-16T22:50:47Z"}
]}
我收到 400 错误请求,但以下例外
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of
org.joda.time.DateTime(although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('2020-01-16T22:50:47Z')
我无法编辑 SharedModel。我在哪里以及如何为此编写反序列化器?
解决方案
您是否为 ObjectMapper 安装了 JavaTimeModule?
推荐阅读
- javascript - Sapper 出口站点上的客户端路由
- java - 将 putIfAbsent 后跟计算合并到一行
- java - 当将一个对象从一个类传递到另一个类时,它会在接收类中重置为初始值
- reactjs - 为什么我的动态路由会使用带有路由参数的 Hooks 中断?
- php - PHP setcookie 在生产服务器上的“echo”之后不起作用(它在 localhost 上起作用)
- java - 从 repl.it 访问 springboot 应用程序
- c# - Xamarin Forms + Firebase - 在允许读/写数据之前通过数据库验证用户 uid
- php - Ajax在Mysql数据库中插入重复记录
- hyperledger-fabric - 哪些因素会影响 HLF 1.4.4 中块中事务的顺序?
- mysql - 为什么我会收到 DELETE ON 级联语法错误