将我的自定义http标头添加到Spring RestTemplate请求/扩展RestTemplate
2022-08-31 23:54:32
我当前的代码:
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
Mall[] malls = restTemplate.getForObject(url, Mall[].class);
我需要为我的请求添加一些自定义标头,格式如下:
X-TP-DeviceID : <GUID>
就我而言,最简单的方法是什么?有没有办法在将请求发送到服务器之前将自定义标头定义添加到我的对象?restTemplate
[编辑]
这是正确的吗?
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
HttpHeaders headers = new HttpHeaders();
headers.set("X-TP-DeviceID", "1234567890");
HttpEntity entity = new HttpEntity(headers);
HttpEntity<Mall[]> response = restTemplate.exchange(url, HttpMethod.GET, entity, Mall[].class);
Mall[] malls = response.getBody();
[已添加]
所以,我设法让它工作。但是,我对此并不完全满意。在我的情况下,我需要为我进行的所有调用提供相同的自定义标头。
因此,我的下一个问题是 - 是否可以将我的自定义标头设置为在每次调用时自动添加,例如,通过扩展类并将所有自定义标头放在那里?然后,我需要做的就是简单地使用我的自定义扩展而不是库存扩展,并且默认情况下我的所有自定义标头都将显示在那里。web-service
RestTemplate
RestTemplate