Thanks for the help! In case I cannot change the response header. I am creating a new response object with the correct header.
ClientHttpRequest clientHttpRequest = new SimpleClientHttpRequestFactory().createRequest(URI.create(str), org.springframework.http.HttpMethod.GET);
final ClientHttpResponse clientHttpResponse = clientHttpRequest.execute();
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
Address address = new Address();
if (clientHttpResponse.getStatusCode() == HttpStatus.OK) {
address = (Address) converter.read(address.getClass(), new HttpInputMessage() {
public InputStream getBody() throws IOException {
return clientHttpResponse.getBody();
}
public HttpHeaders getHeaders() {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.putAll(clientHttpResponse.getHeaders());
httpHeaders.put("Content-Type", Collections.singletonList(MediaType.APPLICATION_JSON_VALUE));
return httpHeaders;
}
});
busStop.setNearestAddress(address.toString());
}
I am sure this is not a simple and good solution, but it works.
source
share