@PathParam 和 @QueryParam
今天调试一个上传功能,客户端手持机发送数据,在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 {
@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}")
@Path("/vict_hj1000/{unit}")
问题解决!
原文转载: http://blog.csdn.NET/zhouyingge1104/article/details/51034970
@PathParam 和 @QueryParam的更多相关文章
- RESTEasy:@FormParam、@PathParam、@QueryParam、@HeaderParam、@CookieParam、@MatrixParam说明
在第一RESTEasy教程我们已经学习了基本的Web服务和休息我们已经测试了一个简单的REST风格的Web服务.在本教程中,我们将显示如何将Web应用程序元素(形式参数,查询参数和更多)为REST风格 ...
- 2.restEasy中@PathParam和@QueryParam的区别
例如代码: @GET @Path("/{id}") @Produces(MediaType.APPLICATION_JSON) public T query(@PathParam( ...
- @QueryParam和@PathParam比较
来源:http://jackyrong.iteye.com/blog/1128364 1 先来看@queryparam Path("/users") public class Us ...
- @QueryParam和@PathParam使用方法比较
1 先来看@queryparam Path("/users") public class UserService { @GET @Path("/query") ...
- JAX-RS之queryparam、PathParam、DefaultValue、FormParam、Context、RestController等
这几天做东西接触了JAX-RS的东西,没有系统的从开始就学,只是单纯去复制粘贴的用,主要用到了几个Annotations变量,具体如下: queryparam.PathParam.FormParam. ...
- JAX-RS规范-常用注解浅析(WebServer)
一.@Path 若希望一个Java类能够处理REST请求,则这个类必须至少添加一个@Path("/")的annotation: 对于方法,这个annotation是可选的,如果不添 ...
- webServer-----Spring 集成cxf笔录
目前webserver主要有俩中方式:1,传统的webserver标准集成方式-生成WSDL的xml文档. 2, 基于restful风格的webserver java RESTful We ...
- JAX-RS(基于Jersey) + Spring 4.x + MyBatis构建REST服务架构
0. 大背景 众所周知,REST架构已经成为现代服务端的趋势. 很多公司,已经采用REST作为App, H5以及其它客户端的服务端架构. 1. 什么是JAX-RS? JAX-RS是JAVA EE6 引 ...
- Web service project中导入的库JAX-RS(Java EE 6.0新产品)
JAX-RS是JAVA EE6 引入的一个新技术. JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(R ...
随机推荐
- baidu网盘下载神器 Pandownload
最近百度网盘超级会员到期,经同学的推荐,我最近发现了一个特别NB的工具pandownload,官方说是能够破解加速,经过使用确实能够达到很快的下载速度. 这里附上官方的下载网站 http://pand ...
- haproxy入门 (作用: 高可用性,负载平衡和用于TCP和基于http的应用程序的代理)
安装haproxy 1:RPM包安装 yum install -y haproxy 2:编译安装 http://www.haproxy.org/#down 例如安装1.7.9版本 http:/ ...
- BOM对象属性定时器的调用
使count中的内容,自动切换 <body> <h1 id="count"></h1> </body> //获取count var ...
- 爬虫学习之-urlparse之urljoin()
首先导入模块,用help查看相关文档 >>> from urlparse import urljoin >>> help(urljoin) Help on func ...
- 对mysql联合索引中的字段进行合理排序
在MySQL的where条件中,有时会用到很多的条件,通常为了加快速度会把这些字段放到联合索引中,可以更快的提高搜索速度: 但是对联合索引中字段顺序的合理排序,便更能提高速度 例子:select * ...
- MySql中的varchar类型
转载:http://www.cnblogs.com/doit8791/archive/2012/05/28/2522556.html 1.varchar类型的变化 MySQL 数据库的varchar类 ...
- PHP中继承
继承 基本概念 将一个类A中的特性信息,传递到另一个类B中,此时就称为: B继承A A派生出B: 基本语法: 几个基本概念 继承:一个类从另一个已有的类获得其特性,称为继承. 派生:从一个已有的类产生 ...
- hdu-题目1159:Common Subsequence
http://acm.hdu.edu.cn/showproblem.php?pid=1159 Common Subsequence Time Limit: 2000/1000 MS (Java/Oth ...
- 在DbGrid中,不按下Ctrl,单击鼠标如何实现多选?谢谢
解决方案 » 有了dbgrid1.options.dgmultiselect:=true;必须按下Ctrl键,才能实现多选, 修改源代码,把以下内容if Select and (ssShift i ...
- Vue2.0 - 全局操作 Vue.set
引:http://www.cnblogs.com/zccblog/p/7192420.html Vue.set 的作用就是在构造器外部操作构造器内部的数据.属性或者方法.比如在vue构造器内部定义了一 ...