转载说明出处:http://blog.csdn.net/nndtdx/article/details/6870391

原文地址 http://docs.jboss.org/resteasy/docs/2.2.1.GA/userguide/html/index.html

只是分享,如有侵权,麻烦联系我删除,谢谢。

如果你在RestEasy servlet 中已经配置过请求的根路径http://hostname.com/services 那么如下请求将会被Library所捕捉到

  • GET http://myhost.com/services/library/books
  • GET http://myhost.com/services/library/book/333
  • PUT http://myhost.com/services/library/book/333
  • DELETE http://myhost.com/services/library/book/333

类和资源方法的@Path(在包javax.ws.rs 中)声明都是必要的,声明的是一个相对路径,根路径,类所声明的路径,方法所声明的路径拼接在一起构成了访问某个resource的一个url。(也就是说,访问这个url,服务端就会自动触发该事件)

包javax.ws.rs 中可以有各种的http 请求方式的声明,例如@GET,@POST,@PUT,@DELETE,@HEAD.你可以把某一特定的请求方式放在public方法之上,你如果你在你的类上有@path的声明,那么在方法上的path声明并不是必须的,但前提是你能够通过不同的http请求来区分不同的方法,这样服务端才能明白你所请求的是那一个资源(方法)。

如果一个方法是只有@Path的声明,而没有http请求方式的声明,那么该方法被称为JAXRSResourceLocators(我觉得作者表达的意思是如果有@Path的声明的方法叫做JAXRSResourceLocators)

4.1 @Path 和正则表达式的映射

@Path的声明并不是仅仅简单的路径表达式。你可以插入正则表达式。例如

下边的get请求将会对应被引导至getResource()方法上

GET /resources/stuff

GET/resources/foo/stuff

GET/resources/on/and/on/stuff

表达式的规则是

"{"variable-name [ ":"regular-expression ] "}"

正则表达式部分(regular-expression)是可选的,如果没有提供该规则式,那么他默认进行匹配,用正则式来形容就是

"([]*)"

例如

@Path("/resources/{var}/stuff")

将会会和如下的路径匹配

GET/resources/foo/stuff

GET/resources/bar/stuff

但是,和该路径是不匹配的

GET/resources/a/bunch/of/stuff

(其实,也就是指明的正则表达式说明了该部分的路径应该符合什么样的规则。如果是默认的化,当然,你可以大致了解一下正则表达式)

RestEasy 用户指南----第4章.使用@Path @GET @POST 等的更多相关文章

  1. RestEasy+用户指南----第5章.@PathParam

    转载说明出处:http://blog.csdn.net/nndtdx/article/details/6870391 原文地址 http://docs.jboss.org/resteasy/docs/ ...

  2. RestEasy 用户指南---第11章 @FormParam

    转载说明出处:http://blog.csdn.net/nndtdx/article/details/6870391 原文地址 http://docs.jboss.org/resteasy/docs/ ...

  3. RestEasy 用户指南----第7章 @HeaderParam

    转载说明出处:http://blog.csdn.net/nndtdx/article/details/6870391 原文地址 http://docs.jboss.org/resteasy/docs/ ...

  4. RestEasy用户指南---第6章.@QueryParam

    转载说明出处:http://blog.csdn.net/nndtdx/article/details/6870391 原文地址 http://docs.jboss.org/resteasy/docs/ ...

  5. Gradle2.0用户指南翻译——第一章. 介绍

    翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc本文翻译所在分支:https://github.com/msdx/gradledoc/tree/2 ...

  6. Gradle 1.12用户指南翻译——第四十一章. 项目报告插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  7. Gradle2.0用户指南翻译——第二章. 概述

    翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc本文翻译所在分支:https://github.com/msdx/gradledoc/tree/2 ...

  8. ReatEasy+用户指南----第9章@MatrixParam

    转载说明出处:http://blog.csdn.net/nndtdx/article/details/6870391 原文地址 http://docs.jboss.org/resteasy/docs/ ...

  9. Gradle用户指南(章9:Groovy快速入门)

    Gradle用户指南(章9:Groovy快速入门) 你可以使用groovy插件来构建groovy项目.这个插件继承了java插件的功能,且扩展了groovy编译.你的项目可以包含groovy代码.ja ...

随机推荐

  1. Android开发之Thread类分析 (转载)

    转自:http://blog.csdn.net/llping2011/article/details/9706599 在我们Linux系统中创建线程函数为:pthread_create(),在Andr ...

  2. win10系统下,开启数据库远程连接方式

    右键左下角的windows标志,选择控制面板 2.查看方式修改为大图标 3.选择高级设置 4.新建入站规则 5.选择端口然后下一步 6.选择tcp协议,端口输入80,3306 7.选择允许连接 8.规 ...

  3. E20170930-hm

    parse   vt. 从语法上描述或分析(词句等);

  4. 9.12NOIP模拟题

    NOIP 2017 全假模拟冲刺                                               hkd 题目名称 Spfa 走楼梯缩小版 滑稽 题目类型 传统 传统 传统 ...

  5. zb的生日-------搜索 和 动态规划

    简单的贪心算法 : http://love-oriented.com/pack/P01.html  说实话 我是喜欢 动态规划的.......但是省赛迫在眉睫 , 只好先 学 搜索了  ,  赶紧   ...

  6. 12 C#中的方法

    还记得我们的第一个程序吗?忘记了?那你要努力了.我们的第一个程序是就是往dos窗口输出一些字符串.在哪个程序中只有一个方法,Main方法.Main方法是一个特殊的方法,但是它也是一个方法.为什么说Ma ...

  7. EasyUI系列学习(一)-入门

    1.什么是jQuery EasyUI jQueryEasyUI是一组基于jQuery的UI插件集合 2.jQueryEasyUI的特点 可以通过html标记来定义用户界面:支持扩展,可根据最近的需求扩 ...

  8. P2639 [USACO09OCT]Bessie的体重问题Bessie's We…

    题目描述 Bessie像她的诸多姊妹一样,因为从Farmer John的草地吃了太多美味的草而长出了太多的赘肉.所以FJ将她置于一个及其严格的节食计划之中.她每天不能吃多过H (5 <= H & ...

  9. DeltaFish 校园物资共享平台 第八次小组会议

    DeltaFish 校园物资共享平台 第八次小组会议 记录人:娄雨禛 2018.7.31 会议总结 1. 对前端界面进行改进,具体改进内容如下: 2. 后端从登录和注册的具体实现做起,熟悉流程之后完成 ...

  10. JS高级——缓存原理

    缓存的原理 1.就是将常用的数据存储起来,提供便利,减少查询次数和所消耗的事件 2.利用作用的原理所产生的数据库:非关系型数据库(内存型数据库) MongoDB.Redis等 3.还有网站静态页面缓存 ...