从java类命中GET端点
我在一个Java项目中有一个REST API,其URL如下: 我正试图从另一个Java项目中点击此URL从java类命中GET端点,java,spring,rest,Java,Spring,Rest,我在一个Java项目中有一个REST API,其URL如下: 我正试图从另一个Java项目中点击此URL private boolean start(){ try{ httpClient = HttpClients.createDefault(); HttpGet httpget = new HttpGet("http://localhost:9094/start"); System.out.println("executing req
private boolean start(){
try{
httpClient = HttpClients.createDefault();
HttpGet httpget = new HttpGet("http://localhost:9094/start");
System.out.println("executing request " + httpget.getRequestLine());
CloseableHttpResponse response = httpClient.execute(httpget);
httpClient.close();
return response.getStatusLine().getStatusCode() == HttpStatus.SC_OK;
}
catch(Exception ex){
logger.error("Error: " + ex.getMessage());
return false;
}
}
public void testing(){
if(start()){
System.out.println("Done");
}
}
由于某种原因,我似乎无法打印或开始“完成”。我不知道为什么
已解决:
愚蠢的错误,只是忘了添加授权头。我肯定会从spring开始使用RestTemplate。还要确保路径正确,并且控制器没有映射
RestTemplate restTemplate = new RestTemplate();
public void callHello() {
restTemplate.getForObject("http://localhost:9094/start",null);
}
您还可以指定RESTAPI的确切方法
@RequestMapping(value = "start",method = RequestMethod.GET)
public void call() {
System.out.println("Hello");
}
你调用的java类是基于spring还是纯java?当你使用浏览器浏览这个url时,你能看到响应吗?如果不能,请检查你的项目的基本路径。为什么不使用spring的rest模板呢?不要将您的答案包含在问题中,将其作为单独的答案发布,并将其标记为已接受。然而,这个特别的答案是没有用的,因为你没有包括足够的细节,使之有可能找出这是问题所在。
@RequestMapping(value = "start",method = RequestMethod.GET)
public void call() {
System.out.println("Hello");
}