您的位置:首页 > 其它

Jersey构建restful风格的WebSerivices(二)

2014-10-05 09:47 239 查看
一、总体说明

XML和JSON是最为常用的数据交换格式。本例子演示如何将java对象,转成XML输出。

二、流程

1.在上文的例子中,创建一个包“com.waylau.rest.bean”

2.在该包下创建一个JAVA类"User"

[java]viewplaincopyprint?





packagecom.waylau.rest.bean;

importjavax.xml.bind.annotation.XmlRootElement;

/*

*用户bean

*@authorwaylau.com

*2014-3-17

*/

@XmlRootElement

publicclassUser{

privateStringuserId;

privateStringuserName;

privateStringage;

publicUser(){};

publicUser(StringuserId,StringuserName,Stringage){

this.userId=userId;

this.userName=userName;

this.age=age;

}

publicStringgetUserId(){

returnuserId;

}

publicvoidsetUserId(StringuserId){

this.userId=userId;

}

publicStringgetUserName(){

returnuserName;

}

publicvoidsetUserName(StringuserName){

this.userName=userName;

}

publicStringgetAge(){

returnage;

}

publicvoidsetAge(Stringage){

this.age=age;

}

}


注意:该类上面增加了一个注解“@XmlRootElement”,在将该类转化成XML时,说明这个是XML的根节点。

3.在“com.waylau.rest.resources”中,增加资源“UserResource“,代码如下:

[java]viewplaincopyprint?





packagecom.waylau.rest.resources;

importjava.util.ArrayList;

importjava.util.HashMap;

importjava.util.List;

importjava.util.Map;

importjavax.ws.rs.Path;

importjavax.ws.rs.Produces;

importjavax.ws.rs.PathParam;

importjavax.ws.rs.core.MediaType;

importjavax.ws.rs.DELETE;

importjavax.ws.rs.GET;

importjavax.ws.rs.POST;

importjavax.ws.rs.PUT;

importcom.waylau.rest.bean.User;

@Path("/users")

publicclassUserResource{

privatestaticMap<String,User>userMap=newHashMap<String,User>();//存储用户

/**

*查询所有

*@return

*/

@GET

@Produces(MediaType.APPLICATION_XML)

publicList<User>getAllUsers(){

List<User>users=newArrayList<User>();

Useru1=newUser("001","WayLau","26");

Useru2=newUser("002","King","23");

Useru3=newUser("003","Susan","21");

userMap.put(u1.getUserId(),u1);

userMap.put(u2.getUserId(),u2);

userMap.put(u3.getUserId(),u3);

users.addAll(userMap.values());

returnusers;

}

@GET

@Path("/getUserXml")

@Produces(MediaType.APPLICATION_XML)

publicUsergetUserXml(){

Useruser=newUser();

user.setAge("21");

user.setUserId("004");

user.setUserName("Amand");

returnuser;

}

}

其中MediaType.APPLICATION_XML说明了是以XML形式输出

在浏览器输入http://localhost:8089/RestDemo/rest/users/getUserXml,输出单个对象



在浏览器输入http://localhost:8089/RestDemo/rest/users输出对象的集合



本文转自:/content/2462087.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: