编程语言
首页 > 编程语言> > ResponseEntity<List>接收结果时报错: java.util.LinkedHashMap cannot be cast to ***

ResponseEntity<List>接收结果时报错: java.util.LinkedHashMap cannot be cast to ***

作者:互联网

场景

ResponseEntity接收结果时报错:
java.util.LinkedHashMap cannot be cast to ***

解决方案

使用序列化参数。

Map<String, String> params = new HashMap<>();
params.put("userName","likui");

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("Accept", "application/json");
HttpEntity<JSONObject> httpEntity 
	= new HttpEntity(params,headers); // 这里的params可以是map,也可以是其他实体

ResponseEntity<JsonResult<ListData>> exchange 
	= restTemplate.exchange(
		"http://api.test.com/showtime",
		HttpMethod.POST, 
		httpEntity, 
		new ParameterizedTypeReference<JsonResult<ListData>>() {}
	);

实测问题解决。

其他

网上还有其他方案说,将对象先序列化为json,再反序列化,实测还是报错。

标签:HttpEntity,java,List,util,headers,params,ResponseEntity,new,序列化
来源: https://blog.csdn.net/enthan809882/article/details/117664195