前言
使用SpringBoot自带的RestTemplate发送请求很方便,但是我们经常会在发送请求时带上token信息,直接拼接头信息显得不太优雅。下面使用RestTemplate自带的拦截器,去实现每次发送请求时自动带上头信息。
第一步:创建SpringBoot项目,添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
第二步:自定义拦截器TokenClientHttpRequestInterceptor
- 实现RestTemplate配套的拦截器ClientHttpRequestInterceptor,它会自动拦截你使用RestTemplate发送的http请求。你可以在intercept方法中做你想要的统一操作。
@Component //交给spring容器管理
@Slf4j //日志
public class TokenClientHttpRequestInterceptor implements ClientHttpRequestInterceptor {
@Override
public ClientHttpResponse intercept(HttpRequest httpRequest, byte[] bytes, ClientHttpRequestExecution clientHttpRequestExecut