REST
カスタムヘッダーとクエリパラメーターを含む呼び出しを行う必要があります。HttpEntity
ヘッダーのみ(本文なし)を設定し、RestTemplate.exchange()
メソッドを次のように使用します。
HttpHeaders headers = new HttpHeaders();
headers.set("Accept", "application/json");
Map<String, String> params = new HashMap<String, String>();
params.put("msisdn", msisdn);
params.put("email", email);
params.put("clientVersion", clientVersion);
params.put("clientType", clientType);
params.put("issuerName", issuerName);
params.put("applicationName", applicationName);
HttpEntity entity = new HttpEntity(headers);
HttpEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class, params);
これは、クライアント側で失敗し、dispatcher servlet
ハンドラーへの要求を解決できません。デバッグしたところ、リクエストパラメータが送信されていないようです。
POST
リクエスト本文を使用し、クエリパラメータを使用せずに交換を行うと、問題なく機能します。
誰かが何かアイデアを持っていますか?
exchange
にgetForEntity
:restTemplate.getForEntity(builder.build().encode().toUri(), String.class);
に変更しました。