0
私は春には新しく、バージョン4.3.0を使用しています。私のコードでは、別の残りの呼び出しの中でメソッドを呼び出すと、常にボディがnullになっています。しかし、私は郵便配達を使用してこのメソッドをテストするとき、それは完全に正常に動作します。私はここで何が欠けているのか分かりません。私は他の同様の質問を見て、HttpEntityオプションを試しましたが、まだ私はここで何かを見逃しています。春休みテンプレート本体が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;
}
}
ありがとうございました。
に注意を払うことは良いアイデアだと思います。郵便受けの右隅にある "code"リンクをクリックしてHTTP形式でエクスポートすることができます – ScanQR
あなたはレスポンスとしてnull値を取得していますか? –
このrestTemplate.getMessageConverters()を追加してみてください。 .add(0、new StringHttpMessageConverter(Charset.forName( "ISO-8859-1"))); – cralfaro