restful服务端及客户端开发

上传人:206****923 文档编号:91265224 上传时间:2019-06-26 格式:DOC 页数:20 大小:3.77MB
返回 下载 相关 举报
restful服务端及客户端开发_第1页
第1页 / 共20页
restful服务端及客户端开发_第2页
第2页 / 共20页
restful服务端及客户端开发_第3页
第3页 / 共20页
restful服务端及客户端开发_第4页
第4页 / 共20页
restful服务端及客户端开发_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《restful服务端及客户端开发》由会员分享,可在线阅读,更多相关《restful服务端及客户端开发(20页珍藏版)》请在金锄头文库上搜索。

1、Restful服务端及客户端调用实例1. 新建web工程作为服务端创建服务端代码前情提示:GET(SELECT):从服务器取出资源(一项或多项)。POST(CREATE):在服务器新建一个资源。PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。DELETE(DELETE):从服务器删除资源。2.服务端代码(每个方法前有注释,包括单参数,多参数,post,get方式的例子)package com.eviac.blog.restws; import javax.ws.rs.Consumes;import j

2、avax.ws.rs.DefaultValue;import javax.ws.rs.FormParam;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 javax.ws.rs.core.MediaType; import net.sf.json.JSONObject;import com.alibaba.fastjson.JSONArray;/* * * autho

3、r pavithra * */ / 这里Path定义了类的层次路径。 / 指定了资源类提供服务的URI路径。 Path(UserInfoService) public class UserInfo / GET表示方法会处理HTTP GET请求 GET / 这里Path定义了类的层次路径。指定了资源类提供服务的URI路径。 Path(/name/i) / Produces定义了资源类方法会生成的媒体类型。 Produces(MediaType.TEXT_XML) / PathParam向Path定义的表达式注入URI参数值。 public String userName(PathParam(i)

4、 String i) String name = i; return + + name + + ; GET / 这里Path定义了类的层次路径。指定了资源类提供服务的URI路径。 Path(/userinfo/id) / Produces定义了资源类方法会生成的媒体类型 /Consumes(MediaType.APPLICATION_JSON) /传json Produces(MediaType.APPLICATION_JSON) / PathParam向Path定义的表达式注入URI参数值。 public String userJson(PathParam(id) String id) /J

5、SONObject jobj=JSONObject.fromObject(id); /id=jobj.getString(id); return name:hanzl,age:1,id:+id+; /多参数测试 POST / 这里Path定义了类的层次路径。指定了资源类提供服务的URI路径。 Path(/user2info) / Produces定义了资源类方法会生成的媒体类型 /Consumes(MediaType.APPLICATION_JSON) /传json /多参数配置 Consumes( MediaType.MULTIPART_FORM_DATA,MediaType.APPLICA

6、TION_FORM_URLENCODED) Produces(MediaType.APPLICATION_JSON) /返回json / PathParam向Path定义的表达式注入URI参数值。 public String user2Json(FormParam(id) String id,FormParam(name) String name) System.out.println(id); System.out.println(name); return name:+name+,age:1,id:+id+; /多参数测试 参数为json POST / 这里Path定义了类的层次路径。指定

7、了资源类提供服务的URI路径。 Path(/user3info) / Produces定义了资源类方法会生成的媒体类型 /Consumes(MediaType.APPLICATION_JSON) /传json /多参数配置 Consumes( MediaType.MULTIPART_FORM_DATA,MediaType.APPLICATION_FORM_URLENCODED) Produces(MediaType.APPLICATION_JSON) /返回json / PathParam向Path定义的表达式注入URI参数值。 public String user3Json(FormPara

8、m(id) String id) System.out.println(id); return name:hanzl,age:1,id:+id+; GET Path(/age/j) Produces(MediaType.TEXT_XML) public String userAge(PathParam(j) int j) int age = j; return + + age + + ; 3.配置服务端web.xml(restful接口发布地址)在web.xml中加入如下配置 Jersey REST Service com.sun.jersey.spi.container.servlet.Se

9、rvletContainer com.sun.jersey.config.property.packages com.eviac.blog.restws 1 Jersey REST Service /rest/* 4.编写客户端代码4.1新建java工程来进行服务端的第一次调用:package com.eviac.blog.restclient; import javax.ws.rs.core.MediaType; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse;

10、import com.sun.jersey.api.client.WebResource; import com.sun.jersey.api.client.config.ClientConfig; import com.sun.jersey.api.client.config.DefaultClientConfig; /* * * author pavithra * */ public class UserInfoClient public static final String BASE_URI = http:/localhost:8080/RestflService; public st

11、atic final String PATH_NAME = /UserInfoService/name/; public static final String PATH_AGE = /UserInfoService/age/; public static void main(String args) String name = Pavithra; int age = 25; ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); WebResource resource = client.resource(BASE_URI); WebResource nameResource = resource.path(rest).path(PATH_NAME + name); System.out.println(Client Response n + g

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号