2017-11-14 11 views
0

私は、Spring 4.3とSpringBoot 1.5を使用して、外部RESTサービスを呼び出す必要があるコンポーネントを作成しています。この外部サービスはHTTP基本認証を要求します。RestTemplateと基本認証および交換メソッドとの衝突

私はSpringBootが基本認証のようなRestTemplateのプロパティを設定するのに非常に便利なビルダーを提供することを発見しました。RestTemplateBuilder

外部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によって設定された基本認証に関連する情報には、が登録されていません。 2組のヘッダーが1つに統合されます。

ニースショット、春;)

関連する問題