gpt4 book ai didi

java - Spring RestTemplate 发送列表和获取列表

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:32:32 30 4
gpt4 key购买 nike

我想用 Spring 的 RestTemplate 做一个服务,在我的服务端代码是这样的:

@PostMapping(path="/savePersonList")
@ResponseBody
public List<Person> generatePersonList(@RequestBody List<Person> person){
return iPersonRestService.generatePersonList(person);
}

在客户端,如果我使用此代码调用服务:

List<Person> p = (List<Person>) restTemplate.postForObject(url, PersonList, List.class);

我无法使用 p对象为 List<Person> , 它将变成 LinkedHashList .经过一些研究,我找到了一个解决方案,说我必须使用交换方法调用服务:

ResponseEntity<List<Person>> rateResponse = restTemplate.exchange(url, HttpMethod.POST, personListResult, new ParameterizedTypeReference<List<Person>>() {});

使用此解决方案,服务器无法获取对象并引发异常,正确的方法是什么?

最佳答案

检查您的代码是否如下所示。这应该有效。

//header
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
//person list
List<Person> personList = new ArrayList<Person>();
Person person = new Person();
person.setName("UserOne");
personList.add(person);
//httpEnitity
HttpEntity<Object> requestEntity = new HttpEntity<Object>(personList,headers);
ResponseEntity<List<Person>> rateResponse = restTemplate.exchange(url, HttpMethod.POST, requestEntity,new ParameterizedTypeReference<List<Person>>() {});

关于java - Spring RestTemplate 发送列表和获取列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40079053/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com