【发布时间】:2015-12-13 21:56:24
【问题描述】:
我当前的代码:
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 而不是库存的,默认情况下我所有的自定义标题都将出现在那里。
【问题讨论】:
标签: java spring rest custom-headers