如何解决com.fasterxml.jackson.databind.exc.MismatchedInputException:无法从START_OBJECT令牌中反序列化java.lang.Long实例
使用Rest Assure确保进行API测试
StudentDTO responseDTO =
given().
log().ifValidationFails().
accept("application/hal+json").
contentType("application/json").
body(requestDTO).
when().
post("/app/students").
then().
log().ifValidationFails().
statusCode(201).
extract().as(StudentDTO.class);
extract()。as(StudentDTO.class)抛出
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.Long` out of START_OBJECT token
at [Source: (String)"{"content":{"id":338,"name":"Student777",allowed":true,"coreUpdate":false,"validity"[truncated 1631 chars]; line: 1,column: 1414] (through reference chain: com.app.rest.api.model.StudentDTO["id"])
Rest保证版本为3.1.0
在Spring Boot版本1.5.14.RELEASE中可以正常工作
更新为2.0.9和
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.11</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.11</version>
</dependency>
这些依赖关系从2.8.11更改为2.9.8
在https://github.com/spring-projects/spring-hateoas/issues/1306中看到了与此问题相关的链接
但是他们使用的是Spring Hateoas 1.1.0.RELEASE,它完全不同,我正在使用的Spring Hateoas是0.25.1。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。