Перезапись шаблона Spring Rest Значение заголовка авторизации - PullRequest
0 голосов
/ 26 февраля 2019

Я делаю вызов покоя, как показано ниже:

REST_TEMPLATE.exchange(
        external_rest_url,
        HttpMethod.POST,
        new HttpEntity<>(dto, getHeaders()),
        Map.class)

и мои заголовки такие, как показано ниже:

private HttpHeaders getHeaders() {
    HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
    headers.setContentType(MediaType.APPLICATION_JSON);
    headers.set("User-Agent","Spring's RestTemplate");
    headers.set(HttpHeaders.AUTHORIZATION, "some value");
    return headers;
}

, когда я запускаю свой код, заголовок HttpHeaders.AUTHORIZATION заменяется наundefined

См. заголовок запроса в снимке ниже из сетевых журналов: enter image description here

Кто-нибудь знает, почему пружина ведет себя так или конкретно spring-web:5.0.5 банка.Я также пытался изменить версию jar, но результат тот же.

Используемая версия Springboot - 2.0.x.

1 Ответ

0 голосов
/ 26 февраля 2019

вы можете добавить перехватчик к вашему RestTemplate, если вам нужно добавить одинаковые заголовки ко всем запросам:

public void sampleHeader(final RestTemplate restTemplate){
    //Add a ClientHttpRequestInterceptor to the RestTemplate
    restTemplate.getInterceptors().add(new ClientHttpRequestInterceptor(){
        @Override
        public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {
            request.getHeaders().set(HttpHeaders.AUTHORIZATION, "some value");//Set the header for each request
            return execution.execute(request, body);
        }
    }); 
}
...