resttemplate 传递list数据
时间: 2023-08-30 13:09:05 浏览: 122
RestTemplate传递List数据可以通过以下两种方式实现:
1. 通过URL传递List数据:
可以使用RestTemplate的`exchange`或`getForObject`方法,并在URL中携带List数据。例如:
```java
List<Integer> list = Arrays.asList(1, 2, 3);
String url = "http://example.com/api?list=" + list.stream().map(String::valueOf).collect(Collectors.joining(","));
String result = restTemplate.getForObject(url, String.class);
```
在URL中携带List数据时,需要注意对List中的元素进行适当的编码,避免出现特殊字符导致的问题。
2. 通过请求体传递List数据:
可以使用RestTemplate的`postForObject`或`exchange`方法,并将List数据作为请求体传递。例如:
```java
List<Integer> list = Arrays.asList(1, 2, 3);
String url = "http://example.com/api";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<List<Integer>> entity = new HttpEntity<>(list, headers);
String result = restTemplate.postForObject(url, entity, String.class);
```
在将List数据作为请求体传递时,需要注意设置请求头中的Content-Type为application/json,并将List数据转换为JSON格式。
阅读全文