스프링 부트를 사용하여 휴식 서비스를 만들 때 특정 경로에 대해 @GetMapping이 수행됩니다. 그 시점에서 정상적인 HTTP 요청을하려고하면 모든 종류의 예외 (예 : org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/apache/http/message/TokenParser
또는 오류 : org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: Target host is null
등)가 발생합니다. 나는 원칙적으로이 문제를 이해하지만 해결책을 찾지 못했습니다.은 다음과 같습니다스프링 부트의 중첩 요청
@GetMapping :
@GetMapping("/requesttest")
public String TestRequest(@RequestParam("requestlink") String requestlink) throws Exception {
String requesttext = RHRequest.getHRequest(requestlink);
return requesttext;
}
요청 클래스 : 해결
public class RHRequest {
public static String getHRequest(String urlRequest) throws Exception {
HttpGet httpRequest = new HttpGet(urlRequest);
HttpClient httpClientRequest = new DefaultHttpClient();
HttpContext localContextRequest = new BasicHttpContext();
ResponseHandler<String> handlerRequest = new BasicResponseHandler();
String responseBodyRequest = null;
HttpResponse responseHRequest = httpClientRequest.execute(httpRequest, localContextRequest);
responseBodyRequest = handlerRequest.handleResponse(responseHRequest);
return responseBodyRequest.toString();
}
}
어떤 버전의 Apache HttpClient를 사용하십니까? 클라이언트와 서버의 pom.xml을 제공 할 수 있습니까? –
컴파일 된 그룹 : 'org.apache.httpcomponents', 이름 : 'httpclient', 버전 : '4.5.2' 컴파일 그룹 : 'org.apache.httpcomponents', 이름 : 'httpcore', 버전 : ' 4.4 '. 그리고 네, 그게 문제였습니다! –