RestTempalte 和 TestRestTemplate 是开发 Spring Boot 应用中常会用的类,它们模拟了一个 Http 的客户端,用来访问或测试 Http 服务。在实践中,我们经常需要在通过 RestTemplate 发出的请求中添加 Header 信息,比如使用 token 来跟踪用户身份的时,就经常将 token 放到请求的 header 中发送给服务端。 本文总结了在 RestTempalte 中添加 Header 信息的方法。
通过 HttpEntity 来添加
在 RestTemplate 的 post* (比如 postForObject) 方法中,可以添加一个 HttpEntity 参数,其中就可以添加 Header 信息, 示例代码如下:
1 | HttpHeaders headers = new HttpHeaders(); |
通过构造拦截器(Interceptor)来添加
对于没有提供 HttpEntity 参数的方法,还可以采用在构造拦截器(Interceptor)中添加的方法,代码如下:
1 | restTemplate.getRestTemplate().setInterceptors( |