RestTemplate调用接口怎么正常返回数据?
时间: 2023-05-13 10:05:46 浏览: 337
Spring Boot使用RestTemplate消费REST服务的几个问题记录
RestTemplate调用接口可以使用exchange方法,该方法可以发送HTTP请求并返回响应。在使用exchange方法时,需要传入一个RequestEntity对象,该对象包含了请求的方法、URL、请求头和请求体等信息。同时,还需要指定响应的类型,可以使用ParameterizedTypeReference来指定。以下是一个示例代码:
```java
RestTemplate restTemplate = new RestTemplate();
String url = "http://example.com/api";
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer token");
headers.set("Content-Type", "application/json");
String requestBody = "{\"key\": \"value\"}";
HttpEntity<String> requestEntity = new HttpEntity<>(requestBody, headers);
ParameterizedTypeReference<MyResponse> responseType = new ParameterizedTypeReference<MyResponse>() {};
ResponseEntity<MyResponse> responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType);
MyResponse responseBody = responseEntity.getBody();
```
其中,MyResponse是响应的类型,可以根据实际情况进行修改。在请求头中,需要设置Authorization和Content-Type等信息,根据实际情况进行修改。在请求体中,需要传入JSON格式的字符串,根据实际情况进行修改。最后,通过getBody方法获取响应体。
阅读全文