45

私の現在のコード:

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次に、ストック ヘッダーの代わりにカスタム拡張を使用するだけで、すべてのカスタム ヘッダーがデフォルトでそこに表示されます。

4

4 に答える 4