Мой текущий код:
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
вместо стандартного, и все мои пользовательские заголовки будут присутствовать там по умолчанию.