首页 > 解决方案 > 处理 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 oforg.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。我在哪里以及如何为此编写反序列化器?

标签: javaapijacksonshared-librariesjson-deserialization

解决方案


您是否为 ObjectMapper 安装了 JavaTimeModule?


推荐阅读