jersey RestFull开发模式

在使用jersey前,需要添加jersey的pom依赖,其中包含了jersey与grizzly2集成测试依赖

 

		
			com.sun.jersey
			jersey-server
			1.9.1
		
		
		
			com.sun.jersey
			jersey-grizzly2
			1.9.1
		
		 
               			 com.sun.jersey.jersey-test-framework
               			 jersey-test-framework-grizzly2
              			 1.9.1
               			 test
        		 
		 
			com.sun.jersey
			jersey-client
			 1.16
		

 

 

首先需要启动

public class Main{  
     
	private static URI getBaseURI() {
		return UriBuilder.fromUri("http://localhost/").port(9998).build();
	}
	
	public static final URI BASE_URI = getBaseURI();
	
	protected static HttpServer startServer() throws IOException {
		System.out.println("Starting grizzly...");
		ResourceConfig rc = new PackagesResourceConfig("com.resource");//这个地址是rest类的目录
		return GrizzlyServerFactory.createHttpServer(BASE_URI, rc);
	}
    public static void main(String[] args) throws IOException {
    	/**
    	 * 启动单例SpringContext
    	 * 在服务start之前装载,第一次加载较慢,避免并发访问带来的加载spring异常
    	 */
    	SpringUtils.start();
    	
    	/**
    	 * 启动Grizzly web Server
    	 */
    	HttpServer httpServer = startServer();
    	System.out.println(String.format("Jersey app started with WADL available at "
    	                   + "%sapplication.wadl\nHit enter to stop it...",
    	                   BASE_URI, BASE_URI));
    	System.in.read();
    	httpServer.stop();
    }           
}
 HelloWorldResource.java
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

// The Java class will be hosted at the URI path "/helloworld"
@Path("/helloworld")
public class HelloWorldResource {

    // The Java method will process HTTP GET requests
    @GET 
    // The Java method will produce content identified by the MIME Media
    // type "text/plain"
    @Produces("text/plain")
    public String getClichedMessage() {
        // Return some cliched textual content
        return "Hello World";
    }
}
HelloWorldResourceTest.java

 

import static org.junit.Assert.*;

import org.junit.Test;

import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.test.framework.JerseyTest;

public class HelloWorldResourceTest extends JerseyTest {

    public HelloWorldResourceTest()throws Exception {
        super("com.resource");");//这个地址是rest类的目录
    }

    @Test
    public void testHelloWorld() {
        WebResource webResource = resource();
        String responseMsg = webResource.path("helloworld").get(String.class);
        assertEquals("Hello World", responseMsg);
    }

}

 

这时使用junit运行HelloWorldResourceTest.java就可以运行rest 风格的测试了。

 

你可能感兴趣的:(Jersey,restfull,grizzly2)