MyEclipse开发Rest服务Demo

来源:互联网 发布:java解析log文件内容 编辑:程序博客网 时间:2024/05/23 11:30
MyEclipse支持Rest服务,开发起来非常方便,下面我就举一个计算机的例子:
        实现功能:加、减、乘、除;

效果如下:





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

步骤1:创建Web Service Project;




步骤2:创建class


[java] view plaincopy
  1. package org.xiazdong.service;  
  2.   
  3. import javax.ws.rs.GET;  
  4. import javax.ws.rs.Path;  
  5. import javax.ws.rs.PathParam;  
  6. import javax.ws.rs.Produces;  
  7. import com.sun.jersey.spi.resource.Singleton;  
  8.   
  9. @Produces("text/plain")  
  10. @Path("calculator")  
  11. @Singleton  
  12. public class MyService {  
  13.     @GET        //设置此服务为get请求的服务  
  14.     @Path("add/{id}")       //FirstRest/calculator/add/1+1  
  15.     public String add(@PathParam("id") String s){  
  16.         String[]ss = s.split("\\+");  
  17.         return s+"="+String.valueOf(Integer.parseInt(ss[0])+Integer.parseInt(ss[1]));  
  18.     }  
  19.     @GET  
  20.     @Path("sub/{id}")       //FirstRest/calculator/add/1-1  
  21.     public String sub(@PathParam("id") String s){  
  22.         String[]ss = s.split("\\-");  
  23.         return  s+"="+String.valueOf(Integer.parseInt(ss[0])-Integer.parseInt(ss[1]));  
  24.     }  
  25.     @GET  
  26.     @Path("mult/{id}")      //FirstRest/calculator/add/1*1  
  27.     public String mult(@PathParam("id") String s){  
  28.         String[]ss = s.split("\\*");  
  29.         return  s+"="+String.valueOf(Integer.parseInt(ss[0])*Integer.parseInt(ss[1]));  
  30.     }  
  31.     @GET  
  32.     @Path("div/{id}")       //FirstRest/calculator/add/1~1  
  33.     public String div(@PathParam("id") String s){  
  34.         String[]ss = s.split("~");  
  35.         return  s+"="+String.valueOf(Integer.parseInt(ss[0])/Integer.parseInt(ss[1]));  
  36.     }  
  37. }  

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


PS:

           REST和RPC之间的区别。

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

原创粉丝点击