zoukankan      html  css  js  c++  java
  • @PathParam 和 @QueryParam

    今天调试一个上传功能,客户端手持机发送数据,在URL中附加一个参数,后台用@PathParam接收,但是报错,无法获取这个参数。

    url:http://192.168.1.3/web1_service/convert/vict_hj1000?unit=160106


    代码:

    1. @Path("/vict_hj1000")  
    2. @POST  
    3. @Consumes(MediaType.MULTIPART_FORM_DATA)  
    4. public Response createVictHJ1000Detect(@FormDataParam("name0") InputStream uploadedInputStream, @PathParam("unit") Long unit) throws JSONException {  
    5.                   

    也就是说,这个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注解,改为:

    1. @Path("/vict_hj1000/{unit}")  
    问题解决!

    原文转载: http://blog.csdn.NET/zhouyingge1104/article/details/51034970


  • 相关阅读:
    【GO】GO语言学习笔记一
    【GO】GO语言学习笔记三
    【GO】GO语言学习笔记二
    linux 安装Ngnix
    【GO】GO语言学习笔记四
    【GO】GO语言学习笔记五
    Extjs4.1 gridPanel动态列
    Extjs4.1 gridPanel单元格背景颜色渲染
    Extjs4.1中动态改变gridpanel的数据源
    Extjs4.1 vtype验证
  • 原文地址:https://www.cnblogs.com/jpfss/p/7479183.html
Copyright © 2011-2022 走看看