RestTemplate 发送get请求 怎么使用List集合接收
时间: 2024-10-16 12:14:17 浏览: 18
java中使用restTemplate发送http请求
在Spring框架中,RestTemplate是一个用于发送HTTP请求的工具类,它主要用于RESTful服务的客户端。如果你想通过GET请求从服务器获取一个包含多个元素的数据,并将其存储在一个List集合中,可以按照以下步骤操作:
1. 创建一个模型类(Model Class):首先,为你想要从服务器返回的JSON数据创建一个对应的Java类。例如,如果数据是一个用户列表,那么可能有一个UserList类,其中包含一个List<User>。
```java
public class User {
private String id;
private String name;
// getters and setters
}
public class UserList {
private List<User> users;
// getters and setters
}
```
2. 创建RestTemplate实例:在Spring配置中初始化并注入RestTemplate,如果没有,可以在你的服务类中直接创建一个新的实例。
```java
@Autowired
private RestTemplate restTemplate;
```
3. 定义URL和请求头:指定你要获取数据的URL,如果有需要,也可以设置请求头(如授权信息)。
4. 发送GET请求并解析响应:使用RestTemplate的`getForObject()`方法,传入URL、目标类型的泛型以及可能的拦截器(如HttpHeaders)。
```java
String apiUrl = "http://your-api-url.com/users";
HttpHeaders headers = new HttpHeaders();
// 设置请求头,比如"Accept": "application/json"
List<User> userList = restTemplate.getForObject(apiUrl, new ParameterizedTypeReference<List<User>>() {}, headers);
```
在这里,`ParameterizedTypeReference`是用于告知RestTemplate返回的是一个List。
5. 检查响应:确保请求成功并且返回的不是null。然后,你可以访问`userList`来操作收到的用户列表。
阅读全文