开发REST Web Service

来源:互联网 发布:淘宝主图视频尺寸 编辑:程序博客网 时间:2024/05/01 07:27

一、什么是REST

           REST是Representational State Transfer的缩写,意为“表象化状态转变”

           REST定义了应该如何正确地使用Web标准,例如HTTP和URI。如果在设计应用程序时能坚持REST原则,将会得到一个使用了优质Web架构的系统。

           REST五条关键原则列举如下:

·       为所有“事物”定义ID

·       将所有事物链接在一起

·       使用标准方法

·       资源多重表述

·       无状态通信

           还有一点需要强调的是,REST仅是一种设计风格而不是标准。

二、环境配置

          1.安装JDK,笔者版本为jdk1.6.0_22

          2.安装TOMCAT,笔者版本为apache-tomcat-7.0.20

          3.安装Myeclipse8.6; 需要注意的是,Myeclipse注册之后,才能新建Web Service Project

三、开发REST Webservice

       1. 新建一个 Web Service Project

               File->new->other->Web Service Project,  出现“New Web Service Project”窗口;

               Project Name 一栏填项目名称,Framework 一栏选框架类型,这里选择REST(JAX-RS);其他默认

               点击Next,在URL pattern 栏可填一个路径,也可用默认的/services/*,这表示本项目部署之后,webservice都在/services路径下;

              点击Finish,完成项目创建

        2. 创建 REST Web Service

           这里有两种方式,一种是通过向导创建,另一种是直接编写代码

           (1)向导创建

                  在项目上右键, New->other->Web Service(在Myeclipse->Web Services文件夹下),出现New Web Service窗口,Framework就用默认的REST(JAX-RS)

                  点击NEXT,再根据向导即可创建。

           (2)直接编写代码

                 新建一个类,在项目的src文件夹上右键,new->Class

                Class的代码如下:  

 package com.test.zqy; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces;  import com.sun.jersey.spi.resource.Singleton; @Produces("text/plain") @Path("customers") @Singleton public class Interface { @GET public String getCustomers() {     return "all"; } @GET @Path("{id}") public String getCustomer(@PathParam("id") String uid) {     return "yourid is "+ uid; } @POST @Path("{add}") @Produces("text/plain") public String addCustomer(@PathParam("add") String ucontent) {     //todo       return "add success"; } }

               下面再简单的说一下代码:

               2~7行,导入REST框架相关的包;

               8行," com.sun.jersey.spi.resource.Singleton";这个包说明该REST Webservice是基于Jersey的,Jersey是一个开源的REST框架; 

              10行 ,表明下面所有方法的输入都是text/plain类型;

              11行,表明下面所有方法的访问路径都是以"*/customers"开头;

              15行,表明这里是GET方法,没有输入参数,且返回类型为String;

              21行,表明该方法的路径是*/id,即"*/customers/id";

               其他类似;

         3. 部署REST Web Service

             (1)在Myeclipse中配置Tomcat

                          Window->Preferences->Myeclipse->Servers->Tomcat;  再配置好相应版本的Tomcat即可。

             (2)启动Tomcat,部署项目

                          在Myeclipse工具栏中,浏览器(“像小地球”)左侧第一个按钮可以启动Tomcat,点击第二个按钮即可部署项目;

                 点进去之后选择相应项目部署即可,若项目有改动可点击Redeploy(重新部署)。

         4. 测试 该REST Web Service

                 可以利用Myeclipse自带的REST Explorer进行测试,   测试时需在地址栏输入该REST webservice的WADL地址

                 具体方法:右键项目->Myeclipse->Test with REST WebService Explorer ,即会弹出相应的测试页面;之后根据页面上的提示操作即可~

       

              至此,我们就利用Myeclipse开发了一个简单的REST Web Service,并进行了部署和测试。

 

 

原创粉丝点击