一、什么是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,并进行了部署和测试。