2016-08-02 40 views
1

我正在嘗試關注this guide在Eclipse中運行Java REST API

我已經下載了gs-rest-service項目並將其導入到我的工作區中。

現在我只想運行該項目 - 無論我嘗試似乎失敗,雖然。我是否認爲我需要將此項目部署到服務器,以便我可以在後臺永久運行它,並讓它回覆我的REST調用?我怎樣才能做到這一點?

我嘗試了幾乎所有的方式運行項目,作爲Java應用程序/ Java Applet/Maven Build。所有似乎都失敗了。

我是Spring和MVN的新手,所以我意識到我無疑在這裏真的做了一些真正愚蠢的事情 - 如果有人能告訴我那是什麼,我會非常感激。

謝謝。

+0

您是否嘗試過使用[Spring Tool Suite](https://spring.io/guides/gs/sts/)插件對於Eclipse? –

回答

2

您實際上並不需要Spring應用程序來運行您的Web服務。你可以試試下面的方法

1)創建和運行REST服務

創建動態Web項目。將其託管在您選擇的應用程序服務器中。 以下鏈接: first application using Rest

2)創建一個REST客戶端

創建一個新的Java項目 - >創建一個新的Java類,使REST調用運行所需

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"/> 
+0

您引用的指南是以可執行jar的形式構建一個spring應用程序。在構建並運行此jar之後,問候服務將從您的瀏覽器中可用。 你會得到什麼錯誤?有太多的失敗可能 一些檢查:你有maven安裝正確,可以從shell訪問,環境變量設置? 您是否有足夠的磁盤空間來下載所有依賴項? 你的eclipse項目有maven方面/方面嗎? 你試過mvn spring-boot:跑? –