1、import javax.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;/* * * au
2、thor 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 St
3、ring i) String name = i; return + Name + name + /Name/User; /userinfo/id / Produces定义了资源类方法会生成的媒体类型 /Consumes(MediaType.APPLICATION_JSON) /传json Produces(MediaType.APPLICATION_JSON) public String userJson(PathParam(id String id) /JSONObject jobj=JSONObject.fromObject(id); /id=jobj.getString();name:h
4、anzl,age1,id+id+ /多参数测试 POST /user2info /多参数配置 Consumes( MediaType.MULTIPART_FORM_DATA,MediaType.APPLICATION_FORM_URLENCODED) Produces(MediaType.APPLICATION_JSON) /返回json public String user2Json(FormParam() String id,FormParam(name) String name) System.out.println(id); System.out.println(name);+name
5、+ /多参数测试 参数为json/user3info public String user3Json(FormParam(/age/j public String userAge(PathParam(j int j) int age = j;Age + age + /Age 3.配置服务端web.xml(restful接口发布地址)在web.xml中加入如下配置servlet Jersey REST Serviceservlet-class com.sun.jersey.spi.container.servlet.ServletContainer /servlet-classinit-para
6、mparam-name com.sun.jersey.config.property.packages /param-nameparam-valuecom.eviac.blog.restws/init-paramload-on-startup1/servletservlet-mappingurl-pattern/rest/*/servlet-mapping4.编写客户端代码4.1新建java工程来进行服务端的第一次调用:package com.eviac.blog.restclient;import com.sun.jersey.api.client.Client;import com.sun
7、.jersey.api.client.ClientResponse;import com.sun.jersey.api.client.WebResource;import com.sun.jersey.api.client.config.ClientConfig;import com.sun.jersey.api.client.config.DefaultClientConfig;public class UserInfoClient public static final String BASE_URI = http:/localhost:8080/RestflService public
8、static 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 =
9、client.resource(BASE_URI); WebResource nameResource = resource.path(rest).path(PATH_NAME + name); System.out.println(Client Response n + getClientResponse(nameResource);Response n + getResponse(nameResource) + nn WebResource ageResource = resource.path().path(PATH_AGE + age); + getClientResponse(ageResource); + getResponse(ageResource); /* * 返回客户端请求。 例如: GET * http:8080/RESTfulWS/rest/UserInfoService/name/Pavithra * 返回请求结果状态“200 OK”。 * param service * return private stat
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1