用Jersey构建RESTful服务2--JAVA对象转成XML输出

来源:互联网 发布:网络搞笑小视频红人 编辑:程序博客网 时间:2024/06/03 18:30

一、 总体说明

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

二、流程

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

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

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. package com.waylau.rest.bean;  
  2. import javax.xml.bind.annotation.XmlRootElement;  
  3. /* 
  4.  * 用户 bean 
  5.  * @author waylau.com 
  6.  * 2014-3-17 
  7.  */  
  8. @XmlRootElement  
  9. public class User {  
  10.       
  11.     private String userId;  
  12.     private String userName;  
  13.     private String age;  
  14.       
  15.     public User() {};  
  16.       
  17.     public User(String userId, String userName, String age) {  
  18.         this.userId = userId;  
  19.         this.userName = userName;  
  20.         this.age = age;  
  21.     }  
  22.     public String getUserId() {  
  23.         return userId;  
  24.     }  
  25.     public void setUserId(String userId) {  
  26.         this.userId = userId;  
  27.     }  
  28.     public String getUserName() {  
  29.         return userName;  
  30.     }  
  31.     public void setUserName(String userName) {  
  32.         this.userName = userName;  
  33.     }  
  34.     public String getAge() {  
  35.         return age;  
  36.     }  
  37.     public void setAge(String age) {  
  38.         this.age = age;  
  39.     }  
  40. }  

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

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

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. package com.waylau.rest.resources;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.HashMap;  
  5. import java.util.List;  
  6. import java.util.Map;  
  7.   
  8. import javax.ws.rs.Path;  
  9. import javax.ws.rs.Produces;  
  10. import javax.ws.rs.PathParam;  
  11. import javax.ws.rs.core.MediaType;  
  12. import javax.ws.rs.DELETE;  
  13. import javax.ws.rs.GET;  
  14. import javax.ws.rs.POST;  
  15. import javax.ws.rs.PUT;  
  16.   
  17. import com.waylau.rest.bean.User;  
  18.   
  19. @Path("/users")  
  20. public class UserResource {  
  21.     private static Map<String,User> userMap = new HashMap<String,User>();//存储用户  
  22.      /** 
  23.      * 查询所有 
  24.      * @return 
  25.      */  
  26.     @GET  
  27.     @Produces(MediaType.APPLICATION_XML)  
  28.     public List<User> getAllUsers(){       
  29.         List<User> users = new ArrayList<User>();  
  30.         User u1 = new User("001","WayLau","26");  
  31.         User u2 = new User("002","King","23");  
  32.         User u3 = new User("003","Susan","21");  
  33.           
  34.         userMap.put(u1.getUserId(), u1);  
  35.         userMap.put(u2.getUserId(), u2);  
  36.         userMap.put(u3.getUserId(), u3);  
  37.           
  38.         users.addAll( userMap.values() );  
  39.         return users;  
  40.     }  
  41.       
  42.     @GET  
  43.     @Path("/getUserXml")  
  44.     @Produces(MediaType.APPLICATION_XML)  
  45.     public User getUserXml() {  
  46.      User user  = new User();  
  47.      user.setAge("21");  
  48.      user.setUserId("004");  
  49.      user.setUserName("Amand");  
  50.      return user;  
  51.     }  
  52.       
  53.    
  54.      
  55. }  


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

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


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



code: http://pan.baidu.com/s/1hqq8IES


0 0
原创粉丝点击