0

Spring 4.3 및 SpringBoot 1.5를 사용하여 외부 REST 서비스를 호출해야하는 구성 요소를 만듭니다. 이 외부 서비스는 HTTP 기본 인증을 요청합니다.RestTemplate과 기본 인증 및 교환 방법의 충돌

스프링 부트는 기본 인증 인 RestTemplateBuilder과 같은 RestTemplate 속성을 설정하는 데 매우 유용한 빌더를 제공합니다.

외부 REST 서비스를 호출하려면 List<T> 반환 유형으로 인해 RestTemplate.exchange 메서드를 사용해야합니다. 여기

new RestTemplateBuilder().basicAuthorization(username, password) 
         .build() 
         .exchange("/some/path/with/variables", 
            HttpMethod.GET, 
            new HttpEntity<>(new HttpHeaders()), 
            new ParameterizedTypeReference<List<Integer>>() {}, 
            some, params) 

문제는 기본적으로 HttpHeaders의 컨테이너의 exchange 방법의 서명이 유형 HttpEntity의 객체를 요청하는 것입니다.

문제가 HttpEntity 객체의 exchange 방법에 입력 매개 변수로 전달의 RestTemplateBuilder.basicAuthorization 방법을 사용하여 설정 한 기본 인증 헤더를 구독합니다,입니까?

고마워요.

+0

질문을 정교하게 작성해야합니다. 그것은 본질적으로 문법적으로 적절하게 형성되지 않습니다. – Andremoniy

+0

질문이 수정되었습니다. 더 나아 졌니? –

+0

더 낫습니다. 하지만 지금 내 논평 : 당신은 그것을 시도 했습니까? – Andremoniy

답변

0

저는 지난 며칠 동안 실험을했습니다. 메서드 으로 전달 된 HttpEntity의 인스턴스는 RestTemplateBuilder에 의해 설정된 기본 인증과 관련된 정보를 구독하지 않습니다. 헤더의 두 세트는 하나로 병합됩니다.

굿샷, 봄;)