httpclienterror во время получения запроса на resttemplate - PullRequest
0 голосов
/ 19 июня 2020

Я продолжаю получать следующее исключение, когда пытаюсь выполнить запрос GET. Прямой запрос curl к URL-адресу работает нормально, но это не так. Я пытаюсь вызвать службу на порту 8085 из службы на порту 8082.

Код

ResponseEntity<List<String>> quoteResponse = restTemplate.exchange("http://localhost:8085/rest/test/{username}", HttpMethod.GET,
        null, new ParameterizedTypeReference<List<String>>() {
        },userName);

Curl

curl 'http://localhost:8082/rest/test/user1' -H "Content-Type: application/json"

Ошибка

org.springframework.web.client.HttpClientErrorException$NotFound: 404 : [<Map><timestamp>2020-06-18T23:35:31.449+00:00</timestamp><status>404</status><error>Not Found</error><message></message><path>/rest/test/user1</path></Map>]
    at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:113) ~[spring-web-5.2.7.RELEASE.jar:5.2.7.RELEASE]
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:184) ~[spring-web-5.2.7.RELEASE.jar:5.2.7.RELEASE]
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:125) ~[spring-web-5.2.7.RELEASE.jar:5.2.7.RELEASE]
    at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) ~[spring-web-5.2.7.RELEASE.jar:5.2.7.RELEASE]

Ответы [ 2 ]

0 голосов
/ 24 июня 2020

Проблема, похоже, связана с тем, что порты 8081 работали нормально. Так что, похоже, есть проблема с подключением между 8082 и 8085. Очень странно для меня.

0 голосов
/ 19 июня 2020

где заголовок вашего запроса «Content-Type: application / json»

HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<JSONObject> req = new HttpEntity<>(new HashMap(), httpHeaders);
ResponseEntity<List<String>> quoteResponse = restTemplate.exchange("http://localhost:8085/rest/test/{username}", HttpMethod.GET,
        req, new ParameterizedTypeReference<List<String>>() {
        },userName);
...