一、@pathparam

   @PathParam 是一个参数注解,可以将一个 URL 上的参数映射到方法的参数上,它可以映射到方法参数的类型有基本类型、字符串、或者任何有一个字符串作为构造方法参数的 Java 对象、或者一个有字符串作为参数的静态方法 valueOf 的 Java 对象(一般是从Get的url中获取参数值)。

@GET
@Path("delProByPNumber/{param}")
@Produces("application/json; charset=utf-8")
public Response delPro(<strong>@PathParam("param") String  pNumber</strong>){  session.delete("production.delete", pNumber);  session.commit();  List list=queryAllPro();  return Response.status(201).entity(list).build();
}

访问路径:http://localhost:8888/Invoice/optPro/delProByPNumber/7

 @pathparem中,URL中只出现参数的值,不出现键值对,比如: “/users/2011/06/30” 

@GET
@Path("{year}/{month}/{day}")  public Response getUserHistory(  @PathParam("year") int year,  @PathParam("month") int month,   @PathParam("day") int day) {  String date = year + "/" + month + "/" + day;  return Response.status(200) .entity("getUserHistory is called, year/month/day : " + date) .build();  }

另外:{var}代表只能有一个路径名,如:a;而{var:.*}代表可以是任意多个路径名,如:a/b/c

/*** {var:.*}代表可以是任意多个路径名,如:a/b/c*/
@Path("/pathRegular1/{var:.*}/{msg}")
@GET
public String pathRegular1(@PathParam("msg") String m){return m;
}/*** {var}代表只能有一个路径名,如:a
*/
@Path("/pathRegular1/{var}/{msg}")
@GET
public String pathRegular2(@PathParam("msg") String m){return m;
}

二、@queryParam

@queryParam从/XXX/路径/?num=5中获取参数

@GET
@Path("addAcc/parameters")
@Produces("application/json; charset=utf-8")
public Response addCus(  @QueryParam("accname") String accname,  @QueryParam("balance") long balance,  @QueryParam("department") String   department,   ) {  Account account=new Account();  account.setAccname(accname);  account.setBalance(balance);  return Response.status(201).entity(queryOne(accname)).build();
}

访问路径:http://localhost:8888/Invoice/optAcc/addAcc/parameters?accname=rr&balance=99999&department=hedaparameters后面为传入参数

Path("/users")
public class UserService {     @GET  @Path("/query")  public Response getUsers(  @QueryParam("from") int from,  @QueryParam("to") int to,  @QueryParam("orderBy") List<String> orderBy) {  return Response.status(200).entity("getUsers is called, from : " + from + ", to : " + to  + ", orderBy" + orderBy.toString()).build();
}

URL输入为:users/query?from=100&to=200&orderBy=age&orderBy=name 此时,输出为: getUsers is called, from : 100, to : 200, orderBy[age, name]。

注意:跟@pathparam不同,@queryparam中,指定的是URL中的参数是以键值对的形式出现的,而在程序中 @QueryParam("from") int from则读出URL中from的值

三、@FormParam

将表单中的字段映射到方法调用上,对于此类方式一般提交方式为Post。

例如,对于下面的表单:

<form method="POST" action="/resources/service">
First name:
<input type="text" name="firstname">
<br>
Last name:
<input type="text" name="lastname">
</form>

通过 post 方法提交,处理该请求的方法为:

Path("/")
public class NameRegistry {@Path("/resources/service")@POSTpublic void addName(@FormParam("firstname") String first, @FormParam("lastname") String last) {...}
}

访问路径:http://localhost:8888/resources/services/hello/getName

也可以添加application/x-www-form-urlencoded来反序列化 URL 中的多参数:

@Path("/")
public class NameRegistry {@Path("/resources/service")@POST@Consumes("application/x-www-form-urlencoded")public void addName(@FormParam("firstname") String first, MultivaluedMap<String, String> form) {...}
}

参见:http://blog.csdn.net/programmeryu/article/details/50536024

http://ju.outofmemory.cn/entry/144017

http://www.cnphp6.com/archives/29400

RestEasy传值方式相关推荐

  1. iOS 页面间几种传值方式(属性,代理,block,单例,通知)

    第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视 ...

  2. 4)PHP命名规则,传值方式

    (1)命名规则: 包括变量名,类名,接口名函数名等等 ①基本规则: 只能使用小写字母,下划线或者数字 数字不能开头 不能跟环境和系统关键字重复(比如,if,else,function) ② 驼峰式   ...

  3. 用页传值方式解决模态窗口的Response.WriteFile文件下载

    因为项目需要,使用了模态窗口,故在BasePage中的override void OnInit(EventArgs e)中加入如下内容.             Response.Clear();   ...

  4. Asp.net页面间传值方式汇总

    在优化.NET中,用到了页面传值的功能,汇总出来跟大家分享一下. 我找到了七种传值方式,分别是:URL传值,Session传值,Cookie传值,Server.Transfer传值,Applicati ...

  5. MVCWebForm对照学习:传值方式

    刚从webform开发转到mvc,如果说像路由这样稍微复杂一点的知识点还可以暂时先放一放(前提是默认的路由规则基本满足大部分需求),那有个问题在快速开发中,我想是必须要当即解决的,那就是webform ...

  6. 七种Vue3传值方式

    七种Vue3传值方式 props emit v-model refs provide/inject eventBus vuex/pinia(状态管理工具) Props方式 Props方式是Vue中最常 ...

  7. 数据传值方式、分支结构、循环结构

    运算符的优先级 要心如明镜:运算符有优先级(先后顺序)问题. 括号最优先,等号(赋值)最落后. 先乘除后加减 想不清楚或用不明白的,使用括号来解决 括号只有小括号,可以一层层嵌套. 数据的传值方式 在 ...

  8. 转 JavaScript传值及.Net传值方式总结

    一,JavaScript传值,主要用到opener.document-- 例如:Trans_aa.htm,Trans_bb.htm <html> <head> <scri ...

  9. C++ 函数参数3种传值方式(以交换两个数为例)

    简介 在C++中,函数参数的传值方式有传值调用.指针调用和引用调用.接下来,通过一个实例来演示三者区别. 代码 #include <iostream>using namespace std ...

  10. jsp页面页面post传值_几种JSP页面传值方式

    2010-01-25 几种JSP页面传值方式: 文章分类:Web前端 几种JSP页面传值方式: 1. 隐藏域传值: &ltform method="post" action ...

最新文章

  1. Quartz2.2.1开发问题
  2. oracle to_char函数的使用
  3. 深入理解JMM(Java内存模型) --(六)final
  4. php foreach 循环 判断index 小于多少_PHP设计模式之迭代器模式 - 硬核项目经理
  5. vue组件的基本使用:入门示例
  6. Java 网络通信必备之socket通信基本原理介绍
  7. 程序员:开汽车,难道我要知道汽车的原理才能把车开好吗?
  8. IE下打开ClearType后透明字体问题解决
  9. java文件名中不能包含的字符,使用Java 7编写包含非英语字符的文件名时,zip条目不正确...
  10. 无法支持python程序的编辑运行和调试_解决pycharm的Python console不能调试当前程序的问题...
  11. python常用的几种字符串替换函数strip、replace、sub
  12. Nginx系列(6):Web服务器分析(理论)
  13. easyui combobox筛选(拼音)
  14. Win10 LSTC与Ubuntu18.04LTS双系统安装详细流程
  15. 层次分析法(附实例)
  16. MPai数据科学平台
  17. 《游戏大师Chris Crawford谈互动叙事》一第 6 章 数学之苦劳
  18. heur.riskfm.bbx病毒解决方案--www.baoluowanxiang.com
  19. logback 配置总结
  20. 【Python自动化测试14】Python自动化测试基础与进阶练习题

热门文章

  1. 数据库热备之SQLServer的数据库镜像实施笔记
  2. Android基础(三) 数据库SQLite
  3. 23个超流行的jQuery相册插件收集
  4. 如何在WP7中实时监控内存使用量
  5. 排序算法-冒泡排序(入门级别)
  6. 泰拉瑞亚Terraria for Mac(动作冒险游戏)
  7. centos 搭建nfs服务器
  8. shell整理(34)===date 命令的小脚本
  9. 使用react-native做一个简单的应用-01项目介绍
  10. linux-LINUX试题