Jersey构建restful风格的WebSerivices(二)
一、 总体说明
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 输出对象的集合

本文转自:http://blog.csdn.net/kkkloveyou/article/details/21415735
Jersey构建restful风格的WebSerivices(二)的更多相关文章
- Jersey构建Restful风格的webservices
最近一直在搞老项目的开发工作,很少写博文了.听了两位阿里巴巴大牛的讨论,决定试试用restful风格的webservices看看. 这里用的是Jersey这个框架,刚开始弄,有点麻烦,只能到处查资料. ...
- Jersey构建Restful风格的Webserivces(三)
一.总体说明 通过jersey-client接口,创建客户端程序,来调用Jersey实现的RESTful服务,实现增.删.改.查等操作. 服务端主要是通过内存的方式,来模拟用户的增加.删除.修改.查询 ...
- 基于jersey和Apache Tomcat构建Restful Web服务(二)
基于jersey和Apache Tomcat构建Restful Web服务(二) 上篇博客介绍了REST以及Jersey并使用其搭建了一个简单的“Hello World”,那么本次呢,再来点有趣的东西 ...
- lucene构建restful风格的简单搜索引擎服务
来自于本人博客: lucene构建restful风格的简单搜索引擎服务 本人的博客如今也要改成使用lucene进行全文检索的功能,因此在这里把代码贴出来与大家分享 一,文件夹结构: 二,配置文件: 总 ...
- 用Jersey构建RESTful服务7--Jersey+SQLServer+Hibernate4.3+Spring3.2
一.整体说明 本例执行演示了用 Jersey 构建 RESTful 服务中.怎样集成 Spring3 二.环境 1.上文的项目RestDemo 2.Spring及其它相关的jar ,导入项目 三.配置 ...
- 构建RESTful风格的WCF服务
构建RESTful风格的WCF服务 RESTful Wcf是一种基于Http协议的服务架构风格. 相较 WCF.WebService 使用 SOAP.WSDL.WS-* 而言,几乎所有的语言和网络平台 ...
- SpringMVC 构建Restful风格 及问题处理
基本的请求URL: /person/{id} GET 得到id的person /person POST 新增person /person/{id} PUT 更新id的person / ...
- Spring Boot构建 RESTful 风格应用
Spring Boot构建 RESTful 风格应用 1.Spring Boot构建 RESTful 风格应用 1.1 实战 1.1.1 创建工程 1.1.2 构建实体类 1.1.4 查询定制 1.1 ...
- SpringBoot实战(一)之构建RestFul风格
RestFul风格是一种非常流行的架构风格,相关实战可以参考我的这篇博客:SSM框架之RestFul示例 论文可参考:https://www.ics.uci.edu/~fielding/pubs/di ...
随机推荐
- spring 在web容器启动时执行初始化方法
开发框架:spingMVC+myBatis 解决方案:给web容器添加一个Listener类,在容器启动的时候执行Listener的“初始化”方法,在这个初始化方法中执行查询数据库的所有操作,然后将数 ...
- day5:vcp考试
Q81. An administrator needs to recover disk space on a previously-used thin provisioned virtual disk ...
- 解读超轻量级DI容器-Guice与Spring框架的区别【转载】
依赖注入,DI(Dependency Injection),它的作用自然不必多说,提及DI容器,例如spring,picoContainer,EJB容器等等,近日,google诞生了更轻巧的DI容器… ...
- php Pthread 多线程 (二) Worker和Threaded
<?php //Worker是具有持久化上下文(执行环境)的线程对象 //Worker对象start()后,会执行run()方法,run()方法执行完毕,线程也不会消亡 class MySqlW ...
- Sql自定义表类型批量导入数据
-- 创建自定义表类型 CREATE TYPE [dbo].[App_ProductTable] AS TABLE( [p_name] [varchar](50) NOT NULL, [p_audio ...
- jetty 8.0 add filter example
http://zyn010101.iteye.com/blog/1679798 package com.cicc.gaf.sso.server;import java.io.IOException;i ...
- program by the way......
ostrich birds fruit apple constructor height weight method overload override base sub inherit extend ...
- MapReduce调优总结与拓展
本文为<hadoop技术内幕:深入解析MapReduce架构设计与实现原理>一书第9章<Hadoop性能调优>的总结. 图1 Hadoop层次结构图 从管理员角度进行调优 1. ...
- dump()
输出格式化的对象
- [SoapUI] 获取当前时间包括年月日时分秒来作为命名
import java.text.SimpleDateFormat GregorianCalendar calendar = new GregorianCalendar() def dateForma ...