快速业务通道

用Java技术创建RESTful Web服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
由 getContacts() 资源方法处理 。

子资源方法

子资源方法非常类似于资源方法;惟一的区别是子资源方法也是由 @Path 注释的,此注释进一步限定 了该方法的选择。

清单 4. JAX-RS 子资源方法

package com.ibm.jaxrs.sample.organization; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; @Path(value="/contacts") public class ContactsResource {   @GET   public List<ContactInfo> getContacts() {   ...   }   @GET   @Path(value="/ids")   public List<String> getContactIds() {   ...   } }

在清单 4 中,发送到 /contacts/ids 路径的 HTTP GET 请求将会由 getContactIds() 子资源方法处 理。

用Java技术创建RESTful Web服务(3)

时间:2011-08-02 IBM Dustin Amrhein

子资源定位器

子资源定位器是能进一步解析用来处理给定请求的资源的一些方法。它们非常类似于子资源方法,因 它们具备一个 @Path 注释,但不具备 HTTP 请求方法指示符,比如 @GET 注释。

清单 5. JAX-RS 子资源定位器

package com.ibm.jaxrs.sample.organization; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @Path(value="/contacts") public class ContactsResource {   @GET   public List<ContactInfo> getContactss() {   ...   }   @GET   @Path(value="/ids")   public List<String> getContactIds() {   ...   }   @Path(value="/contact/{contactName}/department")   public Department getContactDepartment(@PathParam(value="contactName")   String contactName) {   ...   } }

在上述例子中,对 /contact/{contactName}/department 路径的任何 HTTP 请求都将由 getContactDepartment 子资源定位器处理。 {contactName} 部分表明 contact 路径部分之后可以是任 何合法的 URL 值。

注释

本节将会探讨一些重要的注释及其使用。

用Java技术创建RESTful Web服务(4)

时间:2011-08-02 IBM Dustin Amrhein

@Path

@Path 注释被用来描述根资源、子资源方法或子资源的位置。value 值可以包含文本字符、变量或具 有定制正则表达式的变量。清单 6 的例子展示了 @Path 注释的主要应用。

清单 6. @Path 的使用

package com.ibm.jaxrs.sample.organization; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @Path(value="/contacts") public class ContactsResource {   @GET   @Path(value="/{emailAddress:.+@.+\\.[a-z]+}")   public ContactInfo getByEmailAddress(@PathParam(value="emailAddress")   String emailAddress) {   ...   }   @GET   @Path(value="/{lastName}")   public ContactInfo getByLastName(@PathParam(value="lastName") String lastName)  {   ...   } }

ContactsResource 类上的注释表明对 /contacts 路径的所有请求都将由 ContactsResource 根资源 处理。getByEmailAddress 上的 @Path 注释则表明任何发送到 /contacts/{emailAddress} 的请求(其 中 emailAddress 代表的是正则表达式 .+@.+\\.[a-z]+)都将由 getByEmailAddress 处理。

getByLastName 方法上的 @Path 注释指定了发送到 /contacts/{lastName} 路径的所有请求(其中 lastName 代表的是一个与 getByEmailAddress 内的正则表达式

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号