jersey2 java_无废话Jersey构建RESTful服务之WebService系统教程 --2 [JAVA对象转换成XML输出]...

前言:根据前面上一节的项目工程,我们继续实现如何使用JAVA对象转换成XML格式文件

一、 总体说明

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

二、流程

1.在上文的工程例子中,创建一个包“cn.itrush.rest.bean”

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

1 packagecn.itrush.rest.bean;2 importjavax.xml.bind.annotation.XmlRootElement;3

4 /**

5 * 回嘉6 *@authorhuiqinbo.cn7 * 2016-8-248 */

9 @XmlRootElement10 public classUser {11

12 privateString userId;13 privateString userName;14 privateString age;15

16 publicUser() {};17

18 publicUser(String userId, String userName, String age) {19 this.userId =userId;20 this.userName =userName;21 this.age =age;22 }23 publicString getUserId() {24 returnuserId;25 }26 public voidsetUserId(String userId) {27 this.userId =userId;28 }29 publicString getUserName() {30 returnuserName;31 }32 public voidsetUserName(String userName) {33 this.userName =userName;34 }35 publicString getAge() {36 returnage;37 }38 public voidsetAge(String age) {39 this.age =age;40 }41 }

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

3.在“cn.itrush.rest.resources”中,增加资源“UserResource.java“,代码如下:

1 packagecn.itrush.rest.resources;2

3 importjava.util.ArrayList;4 importjava.util.HashMap;5 importjava.util.List;6 importjava.util.Map;7

8 importjavax.ws.rs.Path;9 importjavax.ws.rs.Produces;10 importjavax.ws.rs.PathParam;11 importjavax.ws.rs.core.MediaType;12 importjavax.ws.rs.DELETE;13 importjavax.ws.rs.GET;14 importjavax.ws.rs.POST;15 importjavax.ws.rs.PUT;16

17 importcn.itrush.rest.bean.User;18

19 /**

20 * 回嘉21 *@authorhuiqinbo.cn22 * 2016-8-2423 */

24

25 @Path("/users")26 public classUserResource {27 private static Map userMap = new HashMap();//�洢�û�

28

29 /**

30 * 返回多节点XML格式文件31 *@return

32 */

33 @GET34 @Produces(MediaType.APPLICATION_XML)35 public ListgetAllUsers(){36 List users = new ArrayList();37 User u1 = new User("001","HuiJia","26");38 User u2 = new User("002","Andy","23");39 User u3 = new User("003","BoWen","21");40

41 userMap.put(u1.getUserId(), u1);42 userMap.put(u2.getUserId(), u2);43 userMap.put(u3.getUserId(), u3);44

45 users.addAll( userMap.values() );46 returnusers;47 }48

49

50 /**

51 * 返回单节点XML格式文件52 *@return

53 */

54 @GET55 @Path("/getUserXml")56 @Produces(MediaType.APPLICATION_XML)57 publicUser getUserXml() {58 User user = newUser();59 user.setAge("21");60 user.setUserId("004");61 user.setUserName("回嘉");62 returnuser;63 }64

65 /**

66 * 返回单节点Json格式文件67 *@return

68 */

69 @GET70 @Path("/getUserJson")71 @Produces(MediaType.APPLICATION_JSON)72 publicUser getUserJson(){73 User user = newUser();74 user.setAge("30");75 user.setUserId("2");76 user.setUserName("回嘉");77 returnuser;78 }79

80

81 }

注意:MediaType.APPLICATION_XML 说明了是以XML形式输出

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

858ef7b86154a37835594ad915a80c01.png

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

89ac8611fc8fa9bbe52eed9b32f6b607.png

参考文献:http://blog.csdn.net/kkkloveyou/article/details/21415735

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值