java - 更新包含列表的数据时,restTemplate.put 给出 "Can not deserialize instance of java.util.ArrayList out of START_OBJECT"

标签 java spring-boot resttemplate

下面给出了我的代码片段。

    ArrayList<String> list1 = new ArrayList();
    list.add("test");
    Map<String, List> params = new HashMap<String, List>();
    params.put("1", list1);     
    HttpHeaders headers = new HttpHeaders();        
    headers.setContentType(MediaType.APPLICATION_JSON);       
    HttpEntity<String> entity = new HttpEntity<>(params,headers );
    restTemplate.put(uri, entity);

得到的响应为“无法从 START_OBJECT token 中反序列化 java.util.ArrayList 的实例\”。 有人面临这个类似的问题吗?

最佳答案

您可以将Map转换为Json字符串,然后传递给实体,

String paramsString = new Gson().toJson(params);
HttpEntity<String> entity = new HttpEntity<>(paramsString,headers);
restTemplate.put(uri, entity);

关于java - 更新包含列表的数据时,restTemplate.put 给出 "Can not deserialize instance of java.util.ArrayList out of START_OBJECT",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61423456/

相关文章:

java - 奇怪(?)超出了数组上 Stringuilder 的范围

c# - 如何让我的程序检查安装是否已完成,然后检查 "come back to life"

mysql - 使用 Hibernate 将 Spring Boot 与 Mysql 集成

amazon-web-services - 在不同环境中实现 SQS 的最佳实践是什么?

java - 如何使用 Spring Rest 模板从 Firebase 接收随机生成的 json 值?

java - Spring Boot RestTemplate ClientHttpRequestInterceptor 日志响应正文以防出现异常

java - 使用 log4j 为每个应用程序创建单独的日志文件

java - 根据时间戳过滤Dataflow中的有界数据

spring - 库 jar 可以从 Spring Cloud Config Server 读取属性吗?

java - 通过 Spring 更正 JSON REST Controller