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 ...
随机推荐
- mysql中树形结构表的操作
一种是:邻接表模型(局限性:对于层次结构中的每个级别,您需要一个自联接,并且随着连接的复杂性增加,每个级别的性能自然会降低.在纯SQL中使用邻接列表模型充其量是困难的.在能够看到类别的完整路径之前,我 ...
- Petya and Array (权值线段树+逆序对)
Petya and Array http://codeforces.com/problemset/problem/1042/D time limit per test 2 seconds memory ...
- centos6.6 下 安装 nginx
1.安装nginx需要pcre的依赖,请安装好pcre.假设安装目录如下: /usr/local/pcre-8.38 源码目录如下: /usr/src/pcre-8.38 2.下载nginx安装压缩包 ...
- 深入php内核,从底层c语言剖析php实现原理
深入php内核,从底层c语言剖析php实现原理 非常好的电子书:http://www.cunmou.com/phpbook/preface.md 这是它的目录: PHP的生命周期 让我们从SAPI ...
- Santa Claus and a Place in a Class
/* Santa Claus is the first who came to the Christmas Olympiad, and he is going to be the first to t ...
- spring mvc leaning
解读 web.xml文件 <servlet>-----配置前端控制器的servlet <servlet-name>springMVC</servlet-name> ...
- 神奇的照片修复术,这才是 PS 的正确打开方式!
蒲公英种子从远处飘回 聚成伞的模样 太阳从西边升起 落向东方 运动员回到起跑线上 轰鸣的火车退回家乡 雪花纷飞 飘向天际 我沉入梦乡 你还在我身旁 ——公益广告 大概只有时光倒流,我们才能回到那些每天 ...
- UI设计规范:单选按钮 vs 复选框,没那么简单
无论是网页设计,还是移动app设计,都经常用到单选按钮和复选框这两个组件.这两个组件看似意义明确,很好区分,但在实际设计中却很容易用错,带来不好的用户体验. 本文中我通过列举几个典型的错误用法,帮助设 ...
- memcached 连接本地问题
刚开始学memcache ,就遇到一个问题. telnet 127.0.0.1 11211 回车之后就什么都没有提示了.然后不管设置什么都是报error . 表示不知道如何解决!先写个文章记录下来 ...
- 2018.07.23[PA2015]Siano(线段树)
[PA2015]Siano 描述 Description 农夫Byteasar买了一片n亩的土地,他要在这上面种草. 他在每一亩土地上都种植了一种独一无二的草,其中,第i亩土地的草每天会长高a[i]厘 ...