1. 程式人生 > >MyEclipse開發Rest服務入門

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訊息體中。