【问题标题】:Running a Java REST API in Eclipse在 Eclipse 中运行 Java REST API
【发布时间】:2016-12-08 00:18:23
【问题描述】:

我正在尝试关注this guide

我已下载 gs-rest-service 项目并将其导入我的工作区。

现在我只想运行这个项目——不管我尝试什么似乎都失败了。我是否认为我需要将此项目部署到服务器上,以便我可以在后台永久运行它并让它回复我的 REST 调用?我该怎么做?

我已尝试以几乎所有方式运行该项目,如 Java 应用程序/Java Applet/Maven 构建。一切似乎都失败了。

我是 Spring 和 MVN 的新手,所以我意识到我无疑在这里做了一些非常非常愚蠢的事情 - 如果有人能告诉我那是什么,我将不胜感激。

谢谢。

【问题讨论】:

标签: java eclipse spring rest maven


【解决方案1】:

您实际上并不需要 Spring 应用程序来运行您的 Web 服务。你可以试试下面的方法

1) 创建并运行 Rest 服务

创建一个动态网络项目。将其托管在您选择的应用程序服务器中。 请点击以下链接: first application using Rest

2) 创建一个 Rest 客户端

创建一个新的java项目->创建一个新的Java类来进行其余的调用

import java.util.List;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.Form;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;

public class WebServiceTester  {

   private Client client;
   private String REST_SERVICE_URL = "http://localhost:8080/UserManagement/rest/UserService/users";
   private static final String PASS = "pass";
   private static final String FAIL = "fail";

   private void init(){
      this.client = ClientBuilder.newClient();
   }

   public static void main(String[] args){
      WebServiceTester tester = new WebServiceTester();
      //initialize the tester
      tester.init();
      //test get all users Web Service Method
      tester.testGetUsers();

   }
   //Test: Get list of all users
   //Test: Check if list is not empty
   private void testGetUsers(){
      GenericType<List<User>> list = new GenericType<List<User>>() {};
      List<User> users = client
         .target(REST_SERVICE_URL)
         .request(MediaType.APPLICATION_XML)
         .get(list);
      String result = PASS;
      if(users.isEmpty()){
         result = FAIL;
      }
      else{
          for(User each: users){
          System.out.println("user id :"+each.getId());
          System.out.println("user name :"+each.getName());
          System.out.println("user id :"+each.getProfession());
          }

      }
      System.out.println("Test case name: testGetUsers, Result: " + result );


   }

}

运行上述客户端程序所需的库

<classpathentry kind="lib" path="lib/javax.ws.rs-api-2.0.1.jar"/>
<classpathentry kind="lib" path="lib/jersey-client.jar"/>
<classpathentry kind="lib" path="lib/jersey-common.jar"/>
<classpathentry kind="lib" path="lib/jersey-media-jaxb.jar"/>
<classpathentry kind="lib" path="lib/hk2-api-2.4.0-b34.jar"/>
<classpathentry kind="lib" path="lib/hk2-locator-2.4.0-b34.jar"/>
<classpathentry kind="lib" path="lib/hk2-utils-2.4.0-b34.jar"/>
<classpathentry kind="lib" path="lib/jersey-guava-2.22.2.jar"/>
<classpathentry kind="lib" path="lib/javax.inject-2.4.0-b34.jar"/>
<classpathentry kind="lib" path="lib/javax.annotation-api-1.2.jar"/>

【讨论】:

  • 您引用的指南是用于以可执行 jar 的形式构建 Spring 应用程序。构建并运行此 jar 后,您的浏览器将提供问候语服务。你得到什么错误?可能有很多失败一些检查:您是否正确安装了 maven,可以从 shell 访问,并设置了环境变量?您是否有足够的磁盘空间来下载所有依赖项?您的 Eclipse 项目是否具有 Maven 方面/方面?你试过 mvn spring-boot:run 吗?
猜你喜欢
  • 1970-01-01
  • 2019-03-31
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 2016-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多