`
longgangbai
  • 浏览: 7338823 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

REST WebService简单应用(测试)

 
阅读更多

      在项目中许多同事采用Ajax调用REST Web服务比较费时,今天发现REST WebService的测试框架,Jersey-Test的使用提供一种简单快捷的测试WebService的方式。、

 

demo的结构如下:

 

package com.easyway.rest.ws;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
/**
 * 在Java App中 REST的开发应用
 * @author longgangbai
 *
 */
@Path("/helloWorld")
public class HelloWorldWS {
	
	/**
	 * 发布服务的方法
	 * @return
	 */
	@GET()
	@Produces(MediaType.TEXT_PLAIN)
	public String helloworld(){
		return "HelloWorld REST";
	}

}

 

 

package com.easyway.rest.ws;

import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.core.header.MediaTypes;
import com.sun.jersey.test.framework.JerseyTest;
import com.sun.jersey.test.framework.WebAppDescriptor;
import org.junit.Assert;
import org.junit.Test;

/**
 *采用 jersey的test框架以Web形式测试 
 * 必须继承自JerseyTest 测试
 *
 * @author longgangbai
 */
public class HelloWorldWebAppTest extends JerseyTest {


 /**
  * 初始化JerseyTest的web扫描目录和服务发布目录
  * @throws Exception
  */
    public HelloWorldWebAppTest() throws Exception {
        super(new WebAppDescriptor.Builder("com.easyway.rest.ws")
                .contextPath("helloworld-webapp").build());
    }
    /**
     * Test that the expected response is sent back.
     * @throws java.lang.Exception
     */
    @Test
    public void testHelloWorld() throws Exception {
        WebResource webResource = resource();
        String responseMsg = webResource.path("helloWorld").get(String.class);
        System.out.println("responseMsg ="+responseMsg);
        Assert.assertEquals("HelloWorld REST", responseMsg);
    }
    @Test
    public void testApplicationWadl() {
        WebResource webResource = resource();
        String serviceWadl = webResource.path("application.wadl").
                accept(MediaTypes.WADL).get(String.class);
        Assert.assertTrue(serviceWadl.length() > 0);
    }
}

 

 

package com.easyway.rest.ws;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import com.sun.grizzly.http.SelectorThread;
import com.sun.jersey.api.container.grizzly.GrizzlyWebContainerFactory;
/**
 * 在Java App中采用 Grizzly 的web容器发布WebService服务
 * 
 * @author longgangbai
 * 
 */
public class PublishWS {
	
	public static void main(String[] args){
		//发布路径
		final String baseUri = "http://localhost:9998/";
		//发布容器需要的参数
		final Map<String, String> initParams =new HashMap<String, String>();
		//相关的配置信息(在Web项目参数配置在web.xml中的参数)
		initParams.put("com.sun.jersey.config.property.packages", 
		                   "com.easyway.rest.ws");
	    System.out.println("Starting grizzly...");
	    SelectorThread threadSelector;
		try {
			//使用Grizzly容器发布相关的WebService服务
			threadSelector = GrizzlyWebContainerFactory.create(baseUri, initParams);
		   System.out.println(String.format(
		           "Jersey app started with WADL available at %sapplication.wadl\n" + 
		           "Try out %shelloworld\nHit enter to stop it...", baseUri, baseUri));
		   //用于控制web service的发布
	       System.in.read();
	       //停止发布状态
	       threadSelector.stopEndpoint();
	       //销毁
	       System.exit(0);
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

 

分享到:
评论
2 楼 caissie 2012-09-10  
谢谢!
1 楼 phane 2012-03-06  

相关推荐

    rest webservice demo spring

    8. **测试**: 对REST服务的测试通常使用HTTP客户端工具,如Postman,或者使用JUnit结合Spring的MockMVC进行单元测试。 这个"rest webservice demo spring"项目可能是为了展示如何在Spring环境中集成Jersey,创建...

    SAP webservice测试方法

    SOAPUI是一款功能强大的Webservice测试工具,支持SOAP、REST等多种协议的测试。它可以轻松地创建、执行和监控Webservice测试用例,帮助开发人员和测试人员快速发现并解决Webservice中存在的问题。 #### 四、SAP ...

    webservice接口测试代码

    在本场景中,"webservice接口测试代码"指的是利用编程语言编写代码来验证WebService接口的功能是否正常运行。测试是软件开发过程中的关键环节,确保了服务的质量和可靠性。 Axis2是Apache软件基金会开发的一个Web...

    jersey+spring rest webservice web maven

    标题中的"jersey+spring rest webservice web maven"是一个基于Java开发的RESTful Web服务架构,它结合了几个关键的技术组件。让我们深入探讨每个部分: 1. **Jersey**: Jersey是Java RESTful Web服务(JAX-RS)...

    webService通用客户端测试工具

    "使用也非常简单"的描述表明其设计考虑了易用性,用户无需深入了解Web服务技术的底层细节,即可完成基本的测试任务。 总的来说,"webService通用客户端测试工具"是开发和维护Web服务过程中不可或缺的辅助工具,能够...

    Android+REST WebService服务方式手机开发

    总的来说,Android+REST WebService服务方式手机开发涉及以下主要知识点: 1. RESTful架构原理及其核心概念。 2. Android中的HTTP客户端库,如HttpURLConnection、Apache HttpClient和OkHttp。 3. JSON数据格式及其...

    rest webservice demo

    这个"rest webservice demo"将帮助新手理解REST服务的工作原理,并通过实际操作学习如何在Java环境中创建和测试REST接口。通过逐步实践,你可以掌握如何处理不同类型的HTTP请求,如何序列化和反序列化数据,以及如何...

    Postman 在线测试webservice服务

    标题中的“Postman在线测试webservice服务”是指使用Postman工具对Web Service接口进行功能验证和性能测试的过程。Postman是一款强大的API开发、测试和文档工具,尤其适用于RESTful服务,但同样可以用来测试传统的...

    rest webservice开发流程

    REST(Representational State Transfer,表述性状态转移)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,用于分布式系统之间的通信。RESTful Web服务是通过HTTP方法(GET、POST、PUT、DELETE等)来操作...

    WebServiceStudio WebService测试工具

    【WebServiceStudio:Web服务测试利器】 WebServiceStudio是一款强大的Web Service测试工具,它为开发者提供了一个直观、便捷的方式来测试和调试Web服务。通过这个工具,你可以快速地与SOAP(Simple Object Access ...

    rest webservice guide.pdf

    3. **启动和测试应用**:指导如何启动服务器,并使用浏览器或Postman等工具来测试RESTful API。 #### 五、使用Jersey:实例演示 为了更好地理解和掌握Jersey的使用方法,本节提供了一系列的实际案例: 1. **简单...

    WebService接口测试工具—Strom

    常见的WebService接口标准有SOAP(简单对象访问协议)和REST(Representational State Transfer)。 2. **Strom的特点**: - **用户友好**:Strom界面简洁,操作直观,使得开发者无需复杂的学习过程即可上手。 - ...

    SoapUI WebService 测试工具

    【SoapUI WebService 测试工具】是一款强大的接口测试和功能验证工具,专为Web服务而设计。它允许测试人员对SOAP(Simple Object Access Protocol)和REST(Representational State Transfer)类型的Web服务进行深入...

    WebService测试方案

    【WebService测试方案】 WebService是一种基于XML的开放标准,允许不同平台和编程语言的系统之间进行互操作性通信。它通过定义一套标准的消息结构和协议,实现了应用程序之间的远程调用,就像是网络上的API。...

    Strom webService测试工具

    在IT行业中,Web服务测试是确保应用程序质量的重要环节,而Strom webService测试工具就是一款专为此目的设计的高效工具。与广为人知的soapUI相比,Strom可能提供了独特的特性和优势,使得一些用户更倾向于选择它。 ...

    webservice接口测试工具

    Web服务(Web Service)是一种基于互联网的、采用标准的XML(Extensible Markup Language)进行通信的技术,它允许不同系统间的应用程序进行交互。在IT行业中,Web服务接口测试是确保这些服务能够正确、高效运行的...

    CXF-REST搭建WebService服务端demo

    例如,我们可以创建一个简单的REST资源类: ```xml ``` 4. **编写REST服务接口**:在Java类中定义REST服务接口,例如`HelloServiceImpl.java`: ```java @Path("/hello") public class HelloServiceImpl { ...

    WebService测试工具

    WebService测试工具是IT行业中用于验证和调试WebService接口的重要软件。WebService是一种基于XML的开放标准,允许不同系统间的应用程序通过网络进行通信,实现数据交换。在开发和维护WebService时,测试工具扮演了...

    rest风格webservice

    - 可能还包括测试用例,演示了如何测试这些REST API。 学习REST风格的Web服务,不仅可以提升你的Web开发技能,还能让你更好地理解和构建现代分布式系统,是每一个IT从业者不可或缺的知识点。通过实践和研究这个案例...

Global site tag (gtag.js) - Google Analytics