我没有得到以下提到的请求url的响应,尽管url和param值正确。仅供参考,请求参数值中有一个哈希符号,我正在从客户端对其进行编码,以使请求不会被截断。响应为状态500和错误代码400 Bad Request。不知道是什么问题。
传递的请求网址:
响应:
{
"timestamp": 1549916785930,
"status": 500,
"error": "Internal Server Error",
"message": "400 Bad Request",
"path": "/v3/getdata"
}
调用方法:
public String getData(String url) throws BusinessException {
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("Authorization", "Bearer " + getAuthenticateToken());
HttpEntity<String> entity = new HttpEntity<>(headers);
String completeURL = BaseURL+"/"+url;
logger.info(completeURL);
ResponseEntity<String> result = restTemplate.exchange(completeURL, HttpMethod.GET, entity, String.class);
System.out.println("Result:: "+result);
try {
if ((result.getStatusCode() == HttpStatus.OK))
return result.getBody();
} catch (Exception e) {
e.printStackTrace();
}
throw new BusinessException(result.getStatusCodeValue(),
result.getBody());
}
错误
2019-02-11 15:26:25.900错误14328-[nio-8080-exec-9] oaccC [。[。[/]。[dispatcherServlet]:Servlet [dispatcherServlet]的Servlet.service()在路径为[]的上下文中引发异常[请求处理失败;嵌套的异常是org.springframework.web.client.HttpClientErrorException $ BadRequest:400错误请求] 根本原因
org.springframework.web.client.HttpClientErrorException $ BadRequest:400错误请求 在 org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:79)〜[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] 在org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:122)〜[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] 在org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:102)〜[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] 在org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63)〜[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] 在org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:777)〜[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] 在org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:735)〜[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] 在org.springframework.web.client.RestTemplate.execute(RestTemplate.java:669)〜[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] 在org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:578)〜[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] 在com.walmart.fixit.ws.utils.Utils.getDataFromSC(Utils.java:118)〜[classes /:na]
答案 0 :(得分:0)
使用URI类再次对#字符进行编码,并如下转换为字符串。有效。
如果您有其他方法可以使其正常运行,请发帖。
CarImages