Preciso fazer uma REST
chamada que inclua cabeçalhos personalizados e parâmetros de consulta. Defino meu HttpEntity
com apenas os cabeçalhos (sem corpo) e uso o RestTemplate.exchange()
método da seguinte maneira:
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);
Isso falha no final do cliente, pois dispatcher servlet
não é possível resolver a solicitação para um manipulador. Após a depuração, parece que os parâmetros de solicitação não estão sendo enviados.
Quando eu faço uma troca com um POST
corpo de solicitação usando e sem parâmetros de consulta, ele funciona muito bem.
Alguém tem alguma idéia?
exchange
paragetForEntity
:restTemplate.getForEntity(builder.build().encode().toUri(), String.class);
por simplicidade.