快速业务通道

使用Jersey和Apache Tomcat构建RESTful Web服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
JAXB bean 集合。

JAX-RS 支持使用 JAXB (Java API for XML Binding) 将 JavaBean 绑 定到 XML 或 JSON,反之亦然。JavaBean 必须使用 @XmlRootElement 注释。清 单 8 使用 Contact bean 作为示例。没有明确 @XmlElement 注释的字段将包含 一个名称与之相同的 XML 元素。清单 9 显示了用于一个 Contact bean 的序列 化 XML 和 JSON 表示形式。联系人集合的表示形式与此相同,默认使用 <Contacts> 作为包装器元素。

清单 8. Contact bean

@XmlRootElement public class Contact {   private String id;  private String name;  private  List<Address> addresses;  public Contact() {}  public Contact(String id, String name,  List<Address> addresses) {  this.id = id;   this.name = name;  this.addresses = addresses;  }  @XmlElement(name="address")  public  List<Address> getAddresses() {  return addresses;  }  public void setAddresses(List<Address>  addresses) {  this.addresses = addresses;  }  //  Omit other getters and setters  }

使用Jersey和Apache Tomcat构建RESTful Web服务(8)

时间:2011-06-12 IBM Yi Ming Huang

清单 9. 一个 Contact 的表示形式

XML representation: <contact>  <address>    <city>Shanghai</city>   <street>Long Hua  Street</street>  </address>   <address>   <city>Shanghai</city>    <street>Dong Quan Street</street>   </address>  <id>huangyim</id>    <name>Huang Yi Ming</name> </contact> JSON representation: {"contact":[{"address": [{"city":"Shanghai","street":"Long        Hua Street"}, {"city":"Shanghai","street":"Dong Quan        Street"}],"id":"huangyim","name":"Huang Yi Ming"}]}

与 REST 服务通讯的客户端

在目前为止的示例中,我开发了一个支持 CRUD 的 RESTful Web 服务。现在我开始解释如何使用 curl 和 Jersey 客户端 API 与该 REST 服务通讯。这样一来,我可以测试服务器端代码,并介绍更多有关客 户端技术的信息。

使用 curl 与 REST 服务通讯

Curl 是一个流 行的命令行工具,可以向使用 HTTP 和 HTTPS 协议的服务器发送请求。这是一 个与 RESTful Web 服务通讯的好工具,因为它可以通过任何 HTTP 方法发送内 容。Curl 已经在 Linux 和 Mac 中自带了,并且有一个实用工具,可以在 Windows® 平台上进行安装。

现在,我们初始化获取所有联系人的第一个 curl 命令。您可以参考 清单 3 获取服务器端代码。

curl http://localhost:8080/Jersey/rest/contacts

响应将使用 XML 并包含 所有联系人。

注意,getContacts() 方法还生成一个 application/json MIME 类型响应。您还可以请求该类型的内容。

curl –HAccept:application/json http://localhost:8080/Jersey/rest/contacts

响应将是一个包含所有 联系人的 JSON 字符串。

现在,我将 PUT 一个新的联系人。注意,清单 6 中的 putContact() 方法接受 XML 并使用 JAXB 将 XML 绑定到 Contact 对 象。

curl -X PUT -HContent-type:application/xml --data  "<contact><id>foo</id>          &l

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号