restTemplate调用第三方接口时附带header请求头信息
时间: 2024-01-22 20:02:41 浏览: 131
要在RestTemplate中添加请求头信息,可以使用ExchangeFilterFunction来拦截请求,并在其中设置请求头。以下是一个示例代码:
```java
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpRequest;
import org.springframework.http.client.*;
import org.springframework.web.client.RestTemplate;
RestTemplate restTemplate = new RestTemplate();
restTemplate.setInterceptors(Collections.singletonList((HttpRequestInterceptor) (request, body, execution) -> {
request.getHeaders().add("HeaderName", "HeaderValue");
return execution.execute(request, body);
}));
// 发起请求
String url = "https://api.example.com/endpoint";
String response = restTemplate.getForObject(url, String.class);
```
在上述代码中,创建了一个RestTemplate实例,并设置了一个HttpRequestInterceptor作为拦截器。在拦截器中,通过request.getHeaders().add()方法添加了自定义的请求头信息。
然后,使用RestTemplate发起请求时,会自动附带该请求头信息。
请根据实际情况修改"HeaderName"和"HeaderValue"为你需要设置的请求头名称和值。
阅读全文