GET请求一: getForObject
①. 方法介绍
getForObject()用于发送一个 HTTP GET 请求, 返回值是响应体, 省略了RESPONSE的相关信息。
②. 如何使用
@GetMapping("/test")
public String test() {
String url = "http://hadoopx.com/user/info/1";
return restTemplate.getForObject(url, String.class);
}
@GetMapping("/test")
public User test() {
String url = "http://hadoopx.com/user/info/1";
return restTemplate.getForObject(url, User.class);
}
@GetMapping("/test")
public String[] test() {
String url = "http://hadoopx.com/user/info/1";
return restTemplate.getForObject(url, String[].class);
}
③. 参数传递
@GetMapping("/test")
public String test() {
String url = "http://hadoopx.com/user/{1}/{2}";
return restTemplate.getForObject(url, String.class, "info", 1);
}
@GetMapping("/test")
public String test() {
String url = "http://hadoopx.com/user/{type}/{id}";
String type = "info";
int id = 1;
return restTemplate.getForObject(url, String.class, type, id);
}
@GetMapping("/test")
public String test() {
String url = "http://hadoopx.com/user/{type}/{id}";
Map<String, Object> mp = new HashMap<>();
mp.put("type", "info");
mp.put("id", 1);
return restTemplate.getForObject(url, String.class, mp);
}
GET请求二: getForEntity
①. 方法介绍
getForEntity()同样用于发送一个 HTTP GET 请求, 和上面介绍的 getForObject() 用法几乎相同。
区别在于 getForEntity() 的返回值是 ResponseEntity<T>。
②. 如何使用
和 getForObject() 用法几乎相同。
返回值 ResponseEntity<T> 是 Spring 对 HTTP 请求响应的封装, 包括了几个重要的元素,
如: 响应码、contentType、contentLength、响应消息体等。其中响应消息体可以通过 ResponseEntity 对象的 getBody() 来获取。