springmvc 获取http参数

spring注解中能接受客户端传递过来的参数包括路径变量(url),内容变量(http body),头变量(header),COOKIE变量等几类。

1、路径变量

解析方式:@PathVariable

2、内容变量

(1)格式形如:

<header>

POST http://localhost:8090/project-web/api/client/saveDelegateRelationPart HTTP/1.1
Accept: application/json, text/JavaScript, */*; q=0.01
Content-Type: application/x-www-form-urlencoded; charset=UTF-8

<body>

id=692503&consigner=fozzie&proxy=kermit&fullProxy=no&startTime=2016-07-07+00%3A00%3A00&endTime=2016-07-22+00%3A00%3A00&memo=%E6%B7%BB%E5%8A%A0%E9%83%A8%E5%88%86%E4%BB%A3%E7%90%86%E6%B5%8B%E8%AF%95&process=%5B%7B%22id%22%3A%22fixSystemFailure%3A1%3A36%22%2C%22text%22%3A%22fixSystemFailure%22%2C%22pid%22%3A%22Examples%22%7D%2C%7B%22id%22%3A%22reviewSaledLead%3A1%3A39%22%2C%22text%22%3A%22reviewSaledLead%22%2C%22pid%22%3A%22Examples%22%7D%2C%7B%22id%22%3A%22createTimersProcess%3A1%3A38%22%2C%22text%22%3A%22createTimersProcess%22%2C%22pid%22%3A%22Examples%22%7D%2C%7B%22id%22%3A%22employee-productivity-report%3A1%3A46%22%2C%22text%22%3A%22employee-productivity-report%22%2C%22pid%22%3A%22activiti-report%22%7D%2C%7B%22id%22%3A%22task-duration-report%3A1%3A49%22%2C%22text%22%3A%22task-duration-report%22%2C%22pid%22%3A%22activiti-report%22%7D%2C%7B%22id%22%3A%22process-instance-overview-report%3A1%3A47%22%2C%22text%22%3A%22process-instance-overview-report%22%2C%22pid%22%3A%22activiti-report%22%7D%2C%7B%22id%22%3A%22helpdesk-firstline-vs-escalated-report%3A1%3A48%22%2C%22text%22%3A%22helpdesk-firstline-vs-escalated-report%22%2C%22pid%22%3A%22activiti-report%22%7D%5D

解析方式: @RequestParam Map<String, String> allRequestParams

(2)格式形如:

<header>

POST http://localhost:8090/project-web/api/client/queryProxyRelation HTTP/1.1
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/json; charset=UTF-8

<body>

{"pageIndex":0,"pageSize":10,"sortField":""}

解析方式: @RequestBody Map<String, String> requestBodyParams

总结:

即若客户端通过POST方法,在http body中传递的参数为key=value表单形式,则可用@RequestParam进行解析;若传递的参数为JSON形式,则使用@RequestBody注解进行解析。


参考:

1、 @RequestParam @RequestBody @PathVariable 等参数绑定注解详解,Truong的专栏,http://blog.csdn.net/truong/article/details/28097837

  1. function postSimpleData() {  
  2.         $.ajax({  
  3.             type: "POST",  
  4.             url: "/Service/SimpleData",  
  5.             contentType: "application/json"//必须有  
  6.             dataType: "json"//表示返回值类型,不必须  
  7.             data: JSON.stringify({ 'foo''foovalue''bar''barvalue' }),  //相当于 //data: "{'str1':'foovalue', 'str2':'barvalue'}",  
  8.             success: function (jsonResult) {  
  9.                 alert(jsonResult);  
  10.             }  
  11.         });  
  12.     }  
  13.     function postListString() {  
  14.         $.ajax({  
  15.             type: "POST",  
  16.             url: "/Service/ListString",  
  17.             contentType: "application/json",  
  18.             dataType: "json",  
  19.             data: JSON.stringify({ "BuIds": ["1""2""3"] }),  
  20.             success: function (jsonResult) {  
  21.                 alert(jsonResult);  
  22.             }  
  23.         });  
  24.     }  
  25.     function postEmployees() {  
  26.         $.ajax({  
  27.             type: "POST",  
  28.             url: "/Service/Employees",  
  29.             contentType: "application/json",  
  30.             dataType: "json",  
  31.             data: JSON.stringify({  
  32.                 "Employees": [  
  33.                                     { "firstName""Bill""lastName""Gates" },  
  34.                                     { "firstName""George""lastName""Bush" },  
  35.                                     { "firstName""Thomas""lastName""Carter" }  
  36.                                  ]  
  37.   
  38.             }),  
  39.             success: function (jsonResult) {  
  40.                 alert(jsonResult);  
  41.             }  
  42.         });  
  43.     } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值