2016-05-04 3 views
0

Я получаю следующее исключение org.springframework.web.client.HttpClientErrorException: 400 Bad RequestSpring получить за объект давая 400 ошибки

это заявление final ResponseEntity<String> entity = restTemplate.getForEntity("http://localhost:12001/api/profiles/bymsisdn/0747894146", String.class);

Но я получаю успешный ответ, используя локон URL -X GET «http://localhost:8001/api/profiles/bymsisdn/0747894146»

Дополнительные примечания: resttemplate = new RestTemplate(); // No Headers or extra convertors added as I think it's not required because using curl works fine

+0

этот ответ может помочь; http://stackoverflow.com/questions/22826887/spring-resttemplate-http-post-with-parameters-cause-400-bad-request-error – erolkaya84

ответ

0

Вы можете используйте requestb.in, чтобы проверить, как работает ваш клиент http.

Я думаю RestTemplate ставит Accept заголовок, для которого ваш сервер отвечает 400. Таким образом, вы, возможно, придется изменить свои заголовки запроса:

RestTemplate restTemplate = new RestTemplate(); 
HttpHeaders headers = new HttpHeaders(); 
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); 
HttpEntity<String> entity = new HttpEntity<String>(headers); 
restTemplate.exchange("http://localhost:12001/api/profiles/bymsisdn/0747894146", HttpMethod.GET, entity, String.class); 

Обратите внимание, что это предварительное решение, адаптироваться к вашему серверу.

+0

Я пробовал это, прежде чем размещать вопрос. Без везения спасибо –

-1

окончательным Строка URI = http://localhost:8088/myapp/ {данные} ";

RestTemplate restTemplate = новый RestTemplate();

MyResponse результат = restTemplate.getForObject (URI, MyResponse.class, valData);

0

curl использует / как заголовок Accept, если вы его не укажете. С RestTemplate, если вы не укажете заголовок accept, он пытается найти подходящий тип MIME для вашего типа ответа (в вашем случае String). на вашей конфигурации может соответствовать текст/* MIME, которые могут не соответствовать конечной точке конечной точки.

Попробуйте Явно указать тип содержимого, который нужно обрабатывать с помощью обмена перегруженные методы RestTemplate

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