@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 ; 我的应用里面,url用的是键值对形式的参数,而后台用的是@PathParam,不匹配,因此无法获取。 解决办法就是修改URL,取消键值对,在斜杠后直接加参数值,改成: http://192.168.1.3/web1_service/convert/vict_hj1000/160106 并且后台修改@Path注解,改为: @Path("/vict_hj1000/{unit}") 问题解决! 总结以上就是本文关于@PathParam和@QueryParam区别简析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持! 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |