2015-11-25 2 views
1

Я звоню в службу REST с запросом JSON с использованием Apache HTTPClient, и это дает мне 415 неподдерживаемых типов носителей.Клиент REST с типом контента JSON

Он отлично работает с некоторыми API, но не с ошибкой:

DefaultHttpClient httpClient = new DefaultHttpClient(); 

// Create new getRequest with below mentioned URL 
HttpGet getRequest = new HttpGet("example URL"); 

String encoding = DatatypeConverter.printBase64Binary("usrname:pwd".getBytes("UTF-8")); 
getRequest.setHeader("Authorization", "Basic " + encoding); 

StringEntity params = new StringEntity(""); 

params.setContentType("application/json"); 

// Execute your request and catch response 
HttpResponse response = httpClient.execute(getRequest); 

// Check for HTTP response code: 200 = success 
if (response.getStatusLine().getStatusCode() != 200) { 
    throw new RuntimeException("Failed : HTTP error code : " + 
     response.getStatusLine().getStatusCode()); 
} 

// Get-Capture Complete application body response 
BufferedReader br = new BufferedReader(new InputStreamReader((
    response.getEntity().getContent()))); 
String output; 
System.out.println("============Output:============"); 

// Simply iterate through response and show on console. 
while ((output = br.readLine()) != null) { 
System.out.println(output); 
+0

Когда вы присваиваете 'params'' getRequest'? Вы только что создали это свойство, но не присвоили его первоначальному запросу. – Sachin

ответ

0

Я думаю, вам не нужно StringEntity в вашем GET запросе. Попробуйте следующее:

getRequest.setHeader(HttpHeaders.CONTENT_TYPE "application/json"); 
+0

Спасибо за вашу помощь. Он отлично работает. – newbie

Смежные вопросы