一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 快速解決SpringMVC @RequestBody 用map接收請求參數的問題

快速解決SpringMVC @RequestBody 用map接收請求參數的問題

2021-05-24 13:24xiaowu2017 Java教程

今天小編就為大家分享快速解決SpringMVC @RequestBody 用map接收請求參數的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一:遇到個跨域調用,因為傳個我的參數不定,所以需要通過map來接收參數并進行簽名驗證等操作

理所當然的寫出了下面的代碼,但是發現map里并沒有獲取到傳來的key-value值

?
1
2
3
4
5
@requestmapping(value = "/callback", produces = "text/html;charset=utf-8")
@responsebody
public string callback(@requestbody map<string, string> params) {
 return null;
}

之后我發現httpservletrequest有一個getparametermap方法好像很牛逼的樣子

?
1
2
3
4
5
6
@requestmapping(value = "/callback", produces = "text/html;charset=utf-8")
@responsebody
public string callback(httpservletrequest httpservletrequest) {
 map<string, string> params = httpservletrequest.getparametermap();
 return null;
}

然而這么寫還是不對,因為這個方法其實是返回的一個map<string, string[]>對象,而不是我想象中的簡單的map<string, string>類型,這里是可以獲得正確的參數的,但是需要手動進行轉換,不可能是這種情況呀,一定有更好的解決辦法 “用@requestparam試試”,然后就對了。。對了。。了。。

?
1
2
3
4
5
@requestmapping(value = "/callback", produces = "text/html;charset=utf-8")
@responsebody
public string callback(@requestparam map<string, string> params) {
 return null;
}

二:以前,一直以為在springmvc環境中,@requestbody接收的是一個json對象,一直在調試代碼都沒有成功,后來發現,其實 @requestbody接收的是一個json對象的字符串,而不是一個json對象。然而在ajax請求往往傳的都是json對象,后來發現用 json.stringify(data)的方式就能將對象變成字符串。

同時ajax請求的時候也要指定datatype: "json",contenttype:"application/json" 這樣就可以輕易的將一個對象或者list傳到java端,使用@requestbody即可綁定對象或者list.

javascript 代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script type="text/javascript">
 $(document).ready(function(){
 var savedataary=[];
 var data1={"username":"test","address":"gz"};
 var data2={"username":"ququ","address":"gr"};
 savedataary.push(data1);
 savedataary.push(data2); 
 $.ajax({
  type:"post",
  url:"user/saveuser",
  datatype:"json",
  contenttype:"application/json"
  data:json.stringify(savedata),
  success:function(data){
     
  }
  });
 });
</script>

java代碼

?
1
2
3
4
5
@requestmapping(value = "saveuser", method = {requestmethod.post }})
@responsebody
public void saveuser(@requestbody list<user> users) {
 userservice.batchsave(users);
 }

以上這篇快速解決springmvc @requestbody 用map接收請求參數的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/xiaowu2017/article/details/56830866

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人免费观看www视频 | 日本综合在线观看 | 亚洲香蕉伊在人在线观婷婷 | 亚洲成人一区在线 | 久久久乱码精品亚洲日韩 | 国产一区二区精品久久91 | h版小说| 国产日韩精品一区二区在线观看播放 | 亚洲精品在线免费观看视频 | 色婷婷激婷婷深爱五月老司机 | 91po国产在线高清福利 | 亚洲春黄在线观看 | 日本a在线天堂 | 四虎影视免费观看免费观看 | 情缘免费观看完整版 | 色综七七久久成人影 | 韩国成人毛片aaa黄 含羞草国产亚洲精品岁国产精品 | 久久中文字幕免费高清 | 国产精品亚洲w码日韩中文 国产精品香蕉在线观看不卡 | 精品国产福利在线观看一区 | 午夜福利合集1000在线 | 日本ww视频 | 99久久国产综合精品网成人影院 | 成人亚洲欧美综合 | 成年人免费观看的视频 | 国产综合成人亚洲区 | 亚欧成人中文字幕一区 | 调教扩张宫颈女人惨叫 | 亚洲国产精品牛在线 | 日本福利视频网站 | yjsp妖精视频在线观看免费 | 性色香蕉AV久久久天天网 | 牛牛在线观看 | 91最新入口 | 亚洲男人天堂2023 | 国产图色 | 国产精品一区久久精品 | 国产最新进精品视频 | 波多野结衣之高校教师 | 久久精品观看影院2828 | bl动漫在线观看 |