2017-05-04 140 views
0

我用下面的代碼來調用一個REST的Web API,春季啓動RestTemplate:錯誤415不支持的媒體類型

WebTarget target = client.target(CommonConfig.getProperty(APIX_SEND_EMAIL_URL)); 
Response response = target.request("application/json").accept(MediaType.APPLICATION_JSON_TYPE).header("Authorization", token) 
       .post(Entity.json(email)); 

現在我想用Spring引導RestTemplate調用這個Web服務,而我用下面代碼:

HttpHeaders headers = new HttpHeaders(); 
headers.setContentType(MediaType.APPLICATION_JSON); 
List<MediaType> mediaList = new ArrayList<MediaType>(); 
mediaList.add(MediaType.APPLICATION_JSON); 
mediaList.add(MediaType.TEXT_PLAIN); 
headers.setAccept(mediaList); 
//Json is the json object of the request data 
HttpEntity<String> entity = new HttpEntity<String>(json.toString(), headers); 

ResponseEntity<String> loginResponse = restTemplate 
        .exchange(url, HttpMethod.POST, entity, String.class); 

,但我得到的錯誤415不支持的媒體類型。任何人都可以幫助我理解錯誤的原因,我如何使用RestTemplate修復它?

回答

0

爲什麼不使用RestTemplate的postForObject()方法?

SomeObject json = SomeObject(); 
SomeOtherObject response = restTemplate.postForObject("url", json , SomeOtherObject.class); 
相關問題