@PathParam和@QueryParam区别简析
本文主要研究的是@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 {
也就是说,这个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}")
问题解决!
总结
以上就是本文关于@PathParam和@QueryParam区别简析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
您可能感兴趣的文章:
- java解析XML Node与Element的区别(推荐)
- Java集合与数组区别简介及相互转换实例
- Java、C++中子类对父类函数覆盖的可访问性缩小的区别介绍
- java中timer的schedule和scheduleAtFixedRate方法区别详解
- 浅谈java项目与javaweb项目导入jar包的区别
相关推荐
-
Java、C++中子类对父类函数覆盖的可访问性缩小的区别介绍
前言 "Java 和 C++ 中子类对父类函数覆盖的可访问性缩小的问题"的题目看起来比较学术化,但的确是一个容易忽视的问题.本文力求详细阐述这一问题在 Java 以及 C++ 中的区别. 先介绍什么是"子类对父类函数覆盖的可访问性缩小".对于继承而言,子类可以覆盖父类的"虚函数"--尽管 Java 中没有虚函数这一术语,但可以把 Java 的所有函数都看作虚函数,因为 Java 的所有函数都可以被子类覆盖.这里仅借用"虚函数"
-
java中timer的schedule和scheduleAtFixedRate方法区别详解
timer的schedule和scheduleAtFixedRate方法一般情况下是没什么区别的,只在某个情况出现时会有区别--当前任务没有来得及完成下次任务又交到手上. 我们来举个例子: 暑假到了老师给schedule和scheduleAtFixedRate两个同学布置作业. 老师要求学生暑假每天写2页,30天后完成作业. 这两个学生每天按时完成作业,直到第10天,出了意外,两个学生出去旅游花了5天时间,这5天时间里两个人都没有做作业.任务被拖延了. 这时候两个学生采取的策略就不同了: sch
-
浅谈java项目与javaweb项目导入jar包的区别
现在的项目基本上都是java web项目,所以导入jar包会出现问题,主要介绍一下java项目与javaweb项目的区别: java项目: 在classLoader加载jar和class的时候,是分开加载的,一般jar导入分两种: 1.在web-inf下的lib中直接引入 2.在user library上引入 无论以上哪种引入,jar包都能加载并且运行,classLoader会智能加载(本地JRE运行) javaweb项目: 不是通过本地的JRE运行的,而是部署到web服务器(比如tomcat,
-
java解析XML Node与Element的区别(推荐)
对Element和Node有困惑是因为对xml整个结构不了解,以下作为一个简要概述: 以下图为w3c.org网站的xml文档树图: 从上图可以看出,一个xml文档由元素节点,属性节点,文本节点构成,其中bookstore被称为文档元素或根元素,也是一个元素节点 XML DOM是这样规定一个节点的 XML 文档中的每个成分都是一个节点. 整个文档是一个文档节点 即Document节点.在java中Document接口是继承于Node接口,表示整个XML 文档 每个 XML 标签是一个元素节点
-
Java集合与数组区别简介及相互转换实例
数组Array和集合的区别: (1)数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) (2)JAVA集合可以存储和操作数目不固定的一组数据.(3)若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用. 联系:使用相应的toArray()和Arrays.asList()方法可以回想转换. List和ArrayList的区别 1.List是接口,List特性就是有序,会确保以一定的顺序保存元素. ArrayList是它的实现类
-
@PathParam和@QueryParam区别简析
本文主要研究的是@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_DA
-
Mysql中FIND_IN_SET()和IN区别简析
前段时间项目中使用到Mysql的FIND_IN_SET函数,感觉挺好用的.过一段时间,老大找到我说,这个需要改为IN,哈哈,只能改了,原因会在下面分析到! 弄个测试表来说说两者的区别,测试数据直接在问答区copy一份,能说明问题就行,哈哈,如果侵犯您的版权还请见谅,互联网吗,就需要分享! 测试代码: CREATE TABLE `test` ( `id` int(8) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `list` var
-
C语言简析指针用途
目录 对象的访问方式 什么是指针 指针变量 与指针相关的运算符 指针变量作为函数参数 数组与指针 多维数组与指针 指针常量 和 常量指针 指针数组 与 数组指针 字符串与指针 函数指针 二级指针 与 多级指针 在C语言中,任何一个变量,都有两层含义: (1) 代表该变量的存储单元的地址:变量的地址 左值 lvalue (2) 代表该变量的值:右值 rvalue 对于一个变量的访问,只有两种情况: 一是把一个值写到变量的地址中去 (lvalue) 二是从变量的地址中取变量的值 (rvalue) 对
-
简析mysql字符集导致恢复数据库报错问题
mysql字符集编码错误的导入数据会提示错误了,这个和插入数据一样如果保存的数据与mysql编码不一样那么肯定会出现导入乱码或插入数据丢失的问题,下面我们一起来看一个例子. <script>ec(2);</script> 恢复数据库报错:由于字符集问题,最原始的数据库默认编码是latin1,新备份的数据库的编码是utf8,因此导致恢复错误. [root@hk byrd]# /usr/local/mysql/bin/mysql -uroot -p'admin' t4x < /t
-
Oracle的数据字典技术简析
正在看的ORACLE教程是:Oracle的数据字典技术简析.数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等.当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息. Oracle中的数据字典有静态和动态之分.静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的.以下
-
ASP的Error对象知识简析
在VBScript中,有一个On Error Resume Next语句,它使脚本解释器忽略运行期错误并继续脚本代码的执行.接着该脚本可以检查Err.Number属性的值,判别是否出现了错误.如果出现错误,返回一个非零值.在ASP3.0中,也可以使用OnErrorGoto0"转回到"缺省的错误处理.在ASP2.0中实际也进行这种处理,但是没有相应文档说明,这在很多asp数据相关处理文件中司空见惯,加上On Error Resume Next,关闭缺省的错误处理,然后用err抓住, If
-
游戏和服备忘问题简析
今天游戏和服,发现数据备份好后,导入不到目标库中, mysql -h10.66.125.733 --port 3306 -u sanda -pX12234455 --default-character-set=utf8 sanda_s10 < /data/mysql/8/user.sql 返回 ERROR 1044 (42000) at line 20: Access denied for user 'sanda'@'10.105.%' to database 'sanda_s10' 经查缺少了
-
shp2sqlserver 用法简析
shp2sqlserver用法简析 官方说明: shp2sqlserver is a command line tool for loading shapefiles into Microsoft SQL Server 2008. It is modeled after PostGIS's shp2pgsql, except that it loads directly into the database instead of writing sql to stdout. http://code
-
基于Oracle的面向对象技术入门基础简析开发者网络Oracle
正在看的ORACLE教程是:基于Oracle的面向对象技术入门基础简析开发者网络Oracle.一.概述 对象是Oracle8i以上版本中的一个新的特性,对象实际是对一组数据和操作的封装,对象的抽象就是类.在面向对象技术中,对象涉及到以下几个重要的特性: 封装性 通过对数据和操作的封装,将用户关心的数据和操作暴露出来作为接口,其他数据和操作则隐藏到对象内部,这样便于用户使用和维护. 继承性 对象具有继承性,通过这一特性可以增强程序的可扩展性,适合大型项目的开发. 多态性 同一操作在运行时刻有
-
Spring Cloud与分布式系统简析
本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义. 背景 2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去"能用就行"这种很low的档次了,像抢红包.双十一这样的活动不断逼迫我们去突破软件系统的性能上限,传统的IT企业"能用就行"的开发思想已经不能满足互联网高并发.大流量的性能要求.系统架构走向分布式已经是服务器开发领域解决该问题唯一的出路,然而分布式系统由于天生的复杂度,并
随机推荐
- PHP+jQuery 注册模块的改进(一):验证码存入SESSION
- java实现简单解析XML文件功能示例
- 原生js的弹出层且其内的窗口居中
- python读取浮点数和读取文本文件示例
- Android通过Webservice操作sqlserver数据库实例代码
- javascript 函数式编程
- python检查序列seq是否含有aset中项的方法
- 用vi命令删除日志中的所有内容并对日志进行实时监控
- Windows平台下MySQL常用操作与命令
- 经典海量jQuery插件 大家可以收藏一下
- ionic实现下拉刷新载入数据功能
- Java堆排序算法详解
- 安卓(Android)开发之统计App启动时间
- C#从实体对象集合中导出Excel的代码
- java 查找list中重复数据实例详解
- 详解JavaScript中的属性和特性
- C#中TextBox实现输入提示功能的方法
- 如何实现网络分段
- vue中实现移动端的scroll滚动方法
- VmWare安装centos7无法上网的解决方法