2013-12-23 47 views
4

請幫助我。我試了很長時間纔開始休息應用程序示例,但我無法做到這一點。 使用jersey user guide我卡住與it.Here是例如:無法開始使用澤西島用戶指南

package com.example; 

import javax.ws.rs.client.Client; 
import javax.ws.rs.client.ClientBuilder; 
import javax.ws.rs.client.WebTarget; 

import org.glassfish.grizzly.http.server.HttpServer; 

... 

public class MyResourceTest { 

    private HttpServer server; 
    private WebTarget target; 

    @Before 
    public void setUp() throws Exception { 
     server = Main.startServer(); 

     Client c = ClientBuilder.newClient(); 
     target = c.target(Main.BASE_URI); 
    } 

    @After 
    public void tearDown() throws Exception { 
     server.stop(); 
    } 

    /** 
    * Test to see that the message "Got it!" is sent in the response. 
    */ 
    @Test 
    public void testGetIt() { 
     String responseMsg = target.path("myresource").request().get(String.class); 
     assertEquals("Got it!", responseMsg); 
    } 
} 

但我不知道,什麼是使用startserver()方法中的主要類?這裏沒有這個課程的入口。

回答

3

這裏是link的主類。 ()看起來像這樣:

/** 
* Starts Grizzly HTTP server exposing JAX-RS resources defined in this application. 
* @return Grizzly HTTP server. 
*/ 
public static HttpServer startServer() { 
    // create a resource config that scans for JAX-RS resources and providers 
    // in $package package 
    final ResourceConfig rc = new ResourceConfig().packages("$package"); 

    // create and start a new instance of grizzly http server 
    // exposing the Jersey application at BASE_URI 
    return GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc); 
} 
1

如果您閱讀本指南中上面的代碼段,它會解釋指南中的示例僅突出顯示部分實際代碼。完整的代碼可以在MyResource類中的com.example包中找到。

已在此骨架 項目已經生成的代碼中的最後一塊的是,位於 相同com。示例包作爲MyResource類MyResourceTest單元測試類,然而,這種單元 測試類是放置到行家項目測試源目錄 的src /測試/ JAVA(某些代碼註釋和JUnit進口一直 排除爲了簡潔):