私の現在のコード:/拡張RestTemplate
はX-TP-DeviceID : <GUID>
何です:私は形で、私の要求のためにいくつかのカスタムヘッダーを追加する必要が
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
Mall[] malls = restTemplate.getForObject(url, Mall[].class);
私の場合、これを行う最も簡単な方法は?サーバーにリクエストを送信する前に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();
[追加] 私はそれが動作するように管理しました。しかし、私はそれに完全に満足していません。私の場合、私が作るすべての呼び出しに対して同じカスタムヘッダーを提供する必要があります。
だから、私の次の質問はある - それは、各websesrviceコールに自動的に追加されるように私のカスタムヘッダーを設定することは可能でしょうか?たとえば、RestTemplateクラスを拡張してそこにすべてのカスタムヘッダーを配置します。だから、私は単に私のカスタムを使用することになるその後、必要なものすべてではなく株式一つで、RestTemplateを拡張し、すべての私のカスタムヘッダーは、デフォルトではそこに存在することになります。
申し訳ありませんが、それはまだ私にとっては明らかです。私のコードの修正版を提供できますか?あなたはRestRresponseの代わりにMall []を持っていることを意味しますか? 「要求」とは何ですか? resForEntityオブジェクトをgetForObject呼び出しのパラメータとして追加する必要がありますか?また、私は、httpメソッドが私の場合には – user1209216
は、編集されたコード – kswaughs
Thxをしてみます、私はまた、わずかに異なる解決策を見つけ、それはあまりにも正しいのですか?必要私は私の質問を更新しました。 Btw私はheaders.addまたはheaders.setを使用することができます、それらの違いは何ですか? – user1209216