Я новичок в Spring и использую версию 4.3.0. В моем коде я получаю тело как null всегда, когда я вызываю метод в другом вызове отдыха. Однако, когда я тестирую этот метод с помощью почтальона, он работает отлично. Я не уверен, чего здесь не хватает. Я рассмотрел другие подобные вопросы и попробовал варианты HttpEntity, но все же я что-то пропустил.Spring Rest Template body is null responseEntity.getBody()
Вот мой код.
@RequestMapping(value = "/location/{uuid}", method = RequestMethod.GET)
public ArrayList<String> getLocation(@PathVariable("uuid") String uuid) {
String uriString = "http://user1:[email protected]/LocationProvider/api/" + uuid;
try {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_XML);
HttpEntity<?> entity = new HttpEntity<String>(headers);
ResponseEntity<String> responseEntity = restTemplate.exchange(uriString, HttpMethod.GET, entity, String.class);
String locations = responseEntity.getBody();
// THIS IS THE RESPONSE I GET IN POSTMAN BUT IN DEBUGGER ITS NULL
// <?xml version="1.0" encoding="ISO-8859-1"?>
// <Locations>
// <City name="New" street="First_Ave" state=""/>
// <City name="old" street="Second_Ave" state=""/>
// </Locations>
return locations;
} catch (RestClientException e) {
logger.error(e.getMessage(), e);
return null;
}
}
Большое спасибо за помощь.
Предоставьте запрос Почтальона дамп пожалуйста. Вы можете это, нажав на ссылку «код» на правом углу почтальона и экспортируя его в формате HTTP – ScanQR
, получаете ли вы значение null в качестве ответа? –
попробуйте добавить этот restTemplate.getMessageConverters() .add (0, новый StringHttpMessageConverter (Charset.forName («ISO-8859-1»))); – cralfaro