Je dois passer un RESTappel qui inclut des en-têtes et des paramètres de requête personnalisés. J'ai mis mon HttpEntityavec 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 servletest 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 POSTutilisant 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?
exchangeengetForEntity:restTemplate.getForEntity(builder.build().encode().toUri(), String.class);pour plus de simplicité.