@PathParam 和 @QueryParam
来源:互联网 发布:apache日志路径 编辑:程序博客网 时间:2024/05/16 01:49
今天调试一个上传功能,客户端手持机发送数据,在URL中附加一个参数,后台用@PathParam接收,但是报错,无法获取这个参数。
url:http://192.168.1.3/web1_service/convert/vict_hj1000?unit=160106
代码:
@Path("/vict_hj1000")@POST@Consumes(MediaType.MULTIPART_FORM_DATA)public Response createVictHJ1000Detect(@FormDataParam("name0") InputStream uploadedInputStream, @PathParam("unit") Long unit) throws JSONException {
也就是说,这个unit参数获取不到,怎么回事呢?
网上查了一遍,找到了原因,是url中参数的写法不对,导致后台的@PathParam无法获取,下面列出@PathParam和@QueryParam的区别:
1. @PathParam ,url中直接在斜杠后面添加参数值, 例如:www.a.com/student/001;
2. @QueryParam ,url中在后面添加【键值对】形式的参数,例如:www.a.com/student?id=001 ;
我的应用里面,url用的是键值对形式的参数,而后台用的是@PathParam,不匹配,因此无法获取。
解决办法就是修改URL,取消键值对,在斜杠后直接加参数值,改成:http://192.168.1.3/web1_service/convert/vict_hj1000/160106
并且后台修改@Path注解,改为:
@Path("/vict_hj1000/{unit}")
问题解决!
2 0
- @QueryParam和@PathParam比较
- @PathParam 和 @QueryParam
- @QueryParam和@PathParam比较
- @PathParam 和 @QueryParam
- @QueryParam和@PathParam比较
- 【java】--@PathParam 和@QueryParam
- @QueryParam和@PathParam使用方法比较
- @QueryParam和@PathParam的区别
- @PathParam @QueryParam
- @QueryParam和@PathParam比较以及@PathParam和斜杠/的渊源
- jersey中@QueryParam和@PathParam参数说明
- Jersey中@PathParam和@QueryParam的区别
- @QueryParam和@PathParam比较 (2011-12-11 22:39:15)
- Jersey 入门与Javabean @QueryParam @PathParam @FormParam
- Jersey 入门与Javabean @QueryParam @PathParam @FormParam
- RESTEasy:@FormParam、@PathParam、@QueryParam、@HeaderParam、@CookieParam、@MatrixParam说明
- webservice里的@queryparam、@pathparam、@DefaultValue使用介绍
- RESTEasy:@FormParam、@PathParam、@QueryParam、@HeaderParam、@CookieParam、@MatrixParam说明
- java定时任务
- iOS开发中手机号码和价格金额有效性判断及特殊字符的限制
- MFC界面库BCGControlBar新版功能详解一:Ribbon Bar
- Codeforces 659D Bicycle Race 【判定点是否在多边形内部】
- Makefile通用模板
- @PathParam 和 @QueryParam
- Linux 下让进程在后台可靠运行的几种方法
- iOS js oc相互调用(JavaScriptCore)(二)
- 基于 infinitescroll、isotope、imagesLoaded 的瀑布流网站
- ubuntu 14.04 截图工具
- poj1201 Intervals--单源最短路径&差分约束
- RValue forward sample code
- Web相关:Sublime如何安装ESLint插件?
- 定义为数组,声明为指针