Je dois passer un REST
appel qui inclut des en-têtes et des paramètres de requête personnalisés. J'ai mis mon HttpEntity
avec juste les en-têtes (pas de corps), et j'utilise la RestTemplate.exchange()
méthode comme suit:
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);
Cela échoue du côté client, car il dispatcher servlet
est impossible de résoudre la demande à un gestionnaire. Après l'avoir débogué, il semble que les paramètres de demande ne soient pas envoyés.
Lorsque je fais un échange avec un POST
utilisant un corps de requête et aucun paramètre de requête, cela fonctionne très bien.
Quelqu'un a-t-il une idée?
exchange
engetForEntity
:restTemplate.getForEntity(builder.build().encode().toUri(), String.class);
pour plus de simplicité.