【发布时间】:2017-07-28 21:40:52
【问题描述】:
我有一个带有以下 Java 类的 Spring Boot 应用程序
class Student{
int id;
ArrayList<String> subjectsTaken;
}
我对另一个服务进行 REST 调用,其中 Student 的实例在 POST 请求中作为实体(在正文中)传递。当 subjectTaken 变量中有多个条目时,一切正常。
当subjectsTaken变量中有多个条目时,POST请求中的body如下
{"id":1,"subjectsTaken":["science","mathematics","history"]}
subjectTaken 是一个字符串数组
但是当subjectTaken变量只有1个条目时,请求体如下
{"id":1,"subjectsTaken":"science"}
其中subjectTaken 只是一个字符串(而不是一个带有一个字符串的数组)
由于这个原因,在调用的 REST 服务中反序列化失败并出现以下错误
无法将 java.util.ArrayList 的实例反序列化出 VALUE_STRING 令牌。
感谢任何关于此的指针。
【问题讨论】:
标签: json rest serialization spring-boot deserialization