REST技术第四步 多个参数注解问题
来源:互联网 发布:淘宝要不要买旺铺 编辑:程序博客网 时间:2024/06/05 11:42
经过实验,发现在使用@BeanParam注解的查询类字段上。
@FormParam和@QueryParam不能同时加上去,只能加一个,否则会出现取不到数据的情况。
而且在方法参数上两个注解也不能同时加上去。同时加上是一个注解能工作,另外一个不能工作。
我做个实验。
package beanparam; import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.PathParam;import javax.ws.rs.QueryParam; @Path("/{b}.htm")public class AddRest {@GETpublic String process(@PathParam(value = "b") @QueryParam("b") int b){return "<h1>b = "+b+"</h1>";} }
实验结果表明,@QueryParam的优先级高于@PathParam。不仅仅是这样,而且@PathParam好像还失去了作用。比如我把url里的数字改掉,改成字母,绝对不报错的。
这就说明取参数的注解它一定有个优先级问题,同时加在一个字段上,必定会覆盖另一个。这么做就会碰到一种很烦的情况。就是有些参数既可能来自get请求,从URL中取,又可能来自post请求,而且post请求还可能是放在URL里面的。这样的@FormParam和@QueryParam同时加上去就只有一个能起作用。这是很烦的。对于这种情况,可以用@Context注解注入一个HttpServletRequest对象来调用getParameter方法来做。
1 0
- REST技术第四步 多个参数注解问题
- REST技术第八步 head参数与cookie参数
- REST技术第二步 获取URL中的参数
- REST技术第二步 获取URL中的参数
- REST技术第三步 @BeanParam的使用
- REST技术第五步 @FormParam的使用
- REST技术第六步 文件上传
- REST技术第七步 操作cookie
- CDI进阶第四步 自定义注解验证
- CDI技术第六步:自定义选择器注解
- 制作杂志级图表的第四步:几项非图表技术
- mybatis注解一对多如何传递多个参数
- 在Mybatis中使用注解@多个参数查询
- MyBatis第四步、多表联合查询
- SpringMVC构建REST接口:第四篇 第一个REST风格的接口
- SpringMVC构建REST接口:第四篇 第一个REST风格的接口
- 第四章 模式识别-非参数技术
- REST 技术
- jedis操作工具类
- IOS闪退信号
- Throwable类的详细解释
- ListView--Adapter内的onItemClick监听器四个arg参数
- redis 主从 配置和哨兵监控
- REST技术第四步 多个参数注解问题
- [资源贴] AChartEngin -Android 图形化报表 插件
- CodeForces 461A Appleman and Toastman
- Android开发笔记(四十七)Runnable接口实现多线程
- 一些API的使用
- no visible @interface for declares
- 遮挡剔除(Occlusion Culling)与视锥体剔除(Frustum Culling)是否可以同时起作用?()
- APUE学习笔记【3】
- 近期安排