新浪微博 Github

MyEclipse开发Rest服务入门

MyEclipse支持Rest服务,开发起来非常方便,下面我就举一个计算机的例子:
实现功能:加、减、乘、除;

效果如下:





Rest服务要点:每个服务或任何东西都有一个URI;

步骤1:创建Web Service Project;




步骤2:创建class


package org.xiazdong.service;

import javax.ws.rs.GET;
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("calculator")
@Singleton
public class MyService {
	@GET		//设置此服务为get请求的服务
	@Path("add/{id}")		//FirstRest/calculator/add/1+1
	public String add(@PathParam("id") String s){
		String[]ss = s.split("\\+");
		return s+"="+String.valueOf(Integer.parseInt(ss[0])+Integer.parseInt(ss[1]));
	}
	@GET
	@Path("sub/{id}")		//FirstRest/calculator/add/1-1
	public String sub(@PathParam("id") String s){
		String[]ss = s.split("\\-");
		return  s+"="+String.valueOf(Integer.parseInt(ss[0])-Integer.parseInt(ss[1]));
	}
	@GET
	@Path("mult/{id}")		//FirstRest/calculator/add/1*1
	public String mult(@PathParam("id") String s){
		String[]ss = s.split("\\*");
		return  s+"="+String.valueOf(Integer.parseInt(ss[0])*Integer.parseInt(ss[1]));
	}
	@GET
	@Path("div/{id}")		//FirstRest/calculator/add/1~1
	public String div(@PathParam("id") String s){
		String[]ss = s.split("~");
		return  s+"="+String.valueOf(Integer.parseInt(ss[0])/Integer.parseInt(ss[1]));
	}
}

@POST	//设置此服务为post请求的服务
@Path("add")		
public String add(@FormParam("tt") String s){	//tt为表单的textfield的name
	String[]ss = s.split("\\+");
	return s+"="+String.valueOf(Integer.parseInt(ss[0])+Integer.parseInt(ss[1]));
}


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

REST和RPC之间的区别。

  • REST强调资源有唯一的URI;而RPC更加强大过程(动词),由统一的接口来调用它们。
  • REST回归HTTP最初的设计;RPC仅仅只是把HTTP作为传输协议来使用。
  • REST是由超文本驱动的;RPC是由方法驱动的。
  • REST强调HTTP通信的语义可见性,通过消息头和标准的HTTP方法来体现;RPC把语义封装在HTTP消息体中。



posted @ 2012-05-21 13:57  xiazdong  阅读(520)  评论(0编辑  收藏  举报