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

一、 总体说明

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

二、流程

  • 1.在上文的例子中,创建一个包“com.waylau.rest.bean”
  • 2.在该包下创建一个JAVA类"User"
 package com.waylau.rest.bean;
 import javax.xml.bind.annotation.XmlRootElement;
 /* *
 * 用户 bean
 * @author waylau.com
 * 2014-3-17
 */ @XmlRootElement public class User { 

 private String userId;
 private String userName;
 private String age; 

 public User() {}; 

 public User(String userId, String userName, String age) {
 this.userId = userId;
 this.userName = userName;
 this.age = age;
 }
 public String getUserId() {
 return userId;
 }
 public void setUserId(String userId) {
 this.userId = userId;
 }
 public String getUserName() {
 return userName;
 }
 public void setUserName(String userName) {
 this.userName = userName;
 }
 public String getAge() {
 return age;
 }
 public void setAge(String age) {
 this.age = age;
 }
 }

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

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

 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map; 

 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.GET;
 import javax.ws.rs.POST;
 import javax.ws.rs.PUT; 

 import com.waylau.rest.bean.User; 

 @Path("/users")
 public class UserResource {
 private static Map<String,User> userMap = new HashMap<String,User>();//存储用户  /**
 * 查询所有
 * @return
 */ @GET @Produces(MediaType.APPLICATION_XML)
 public List<User> getAllUsers(){
 List<User> users = new ArrayList<User>();
 User u1 = new User("001","WayLau","26");
 User u2 = new User("002","King","23");
 User u3 = new User("003","Susan","21"); 

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

 users.addAll( userMap.values() );
 return users;
 } 

 @GET @Path("/getUserXml")
 @Produces(MediaType.APPLICATION_XML)
 public User getUserXml() {
 User user = new User();
 user.setAge("21");
 user.setUserId("004");
 user.setUserName("Amand");
 return user;
 }
 }

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

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

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

本章源码:https://github.com/waylau/RestDemo/tree/master/jersey-demo2-xml

时间: 2024-09-13 23:58:43

用Jersey构建RESTful服务2--JAVA对象转成XML输出的相关文章

用Jersey构建RESTful服务5--Jersey+MySQL5.6+Hibernate4.3

一.总体说明 本例运行演示了用Jersey构建RESTful服务中,如何同过Hibernate将数据持久化进MySQL的过程 二.环境 1.上文的项目RestDemo 2.MySQL5.6下载http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16-win32.zip 3.Hibernate4.3.4下载http://sourceforge.net/projects/hibernate/files/hibernate4/4.3.4.Fin

用Jersey构建RESTful服务6--Jersey+SQLServer+Hibernate4.3

一.总体说明 本例运行演示了用Jersey构建RESTful服务中,如何同过Hibernate将数据持久化进SQLServer的过程 二.环境 1.上文的项目RestDemo 2.SQLServer2005 3.jtds数据库连接驱动:下载地址最新版本,替换掉上文项目中的mysql-connector 三.配置 1.与上文mysql的配置不同点主要在hibernate.cfg.xml文件: 配置如下: <?xml version='1.0' encoding='utf-8'?> <!DO

用Jersey构建RESTful服务7--Jersey+SQLServer+Hibernate4.3+Spring3.2

一.总体说明 本例运行演示了用 Jersey 构建 RESTful 服务中,如何集成 Spring3 二.环境 1.上文的项目RestDemo 2.Spring及其他相关的jar ,导入项目 三.配置 1.根目录下下创建 Spring 的配置文件applicationContext.xml: 配置如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spri

用Jersey构建RESTful服务9--Jersey+SQLServer+Hibernate4.3+Spring3.2+AngularJS

一.总体说明 本例运行演示了用 Jersey 构建 RESTful 服务中,如何集成 angular,用MVC分层的方式访问 RESTful 服务. 二.环境 1.上上文的项目 Demo7) 2.angular 库 ,本例为1.2.3 版本 3.样式 bootstrap-3.1.1.min.js 三.配置 1.完成项目结构  创建相应的目录结构 angularjs .bootstrap 的js,css文件放别放入相应的目录, 在js目录下再创建 app.js .controller.js 在pa

用Jersey构建RESTful服务8--Jersey+SQLServer+Hibernate4.3+Spring3.2+jquery

一.总体说明 本例运行演示了用 Jersey 构建 RESTful 服务中,如何集成 jQuery,用html作为客户端访问 RESTful 服务. 二.环境 1.上文的项目RestDemo 2.jQuery 库 ,本例为1.7.1版本 三.配置 创建 jQuery 客户端的项目结构,在WebContent创建js,css两个目录,并把jQuery 库 放入js目录下,并在该目录下创建main,js空文件 在WebContent创建index.html: <!DOCTYPE HTML> <

用Jersey构建RESTful服务3--JAVA对象转成JSON输出

一. 总体说明 XML和JSON 是最为常用的数据交换格式.本例子演示如何将java对象,转成JSON输出. 二.流程 1.在上文项目中, 在"com.waylau.rest.resources.UserResource"中增加代码,代码如下: @GET @Path("/getUserJson") @Produces(MediaType.APPLICATION_JSON) public User getUserJson() { User user = new Use

用Jersey构建RESTful服务4--通过jersey-client客户端调用Jersey的Web服务模拟CURD

一.总体说明 通过jersey-client接口,创建客户端程序,来调用Jersey实现的RESTful服务,实现增.删.改.查等操作. 服务端主要是通过内存的方式,来模拟用户的增加.删除.修改.查询等操作. 二.创建服务端 1.在上文项目中, 在"com.waylau.rest.resources.UserResource"中修改代码, 首先创建一个HashMap,用来保存添加的用户 private static Map<String,User> userMap = ne

java对象转成JSON串对象丢失

问题描述 java对象转成JSON串对象丢失 将一个java对象转成JSON字符串时,对象的一个属性丢失,求大神指导!!!! 解决方案 java 对象转 json串java嵌套对象转成jsonjava 将json字串转成复杂对象 解决方案二: 也许你定义的对象就是少了一个属性 解决方案三: 理论上是不会丢失的,是不是属性字段单词写错了? 解决方案四: 用jsonobject试试,将java对象转换为json字符串先将java对象转换为json对象,在将json对象转换为json字符串JSONOb

android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件

前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xstream 二: 把对象转换成xml android XMl 解析神奇xstream 三: 把复杂对象转换成 xml android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象   1.建立JavaBeen package com.android10; public clas