程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 詳解SpringMVC @RequestBody接納Json對象字符串

詳解SpringMVC @RequestBody接納Json對象字符串

編輯:關於JAVA

詳解SpringMVC @RequestBody接納Json對象字符串。本站提示廣大學習愛好者:(詳解SpringMVC @RequestBody接納Json對象字符串)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解SpringMVC @RequestBody接納Json對象字符串正文


頁面提交懇求參數有兩種,一種是form格式提交,一種json格式提交

通常狀況下我們運用的都是form格式提交的數據,數據格式:k=v&k=v,這個時分用springMVC接納參數沒有問題,但有時分前端會經過json向後端傳遞數據,就會呈現springMVC獲取不到參數值的狀況

留意:jQuery的$.post辦法雖然也可以傳遞json格式數據,但實踐上是用的form格式提交,jquery會幫你把json轉成form格式提交後台

所以其實可以經過$.post,$.get來提交json格式,讓jquery幫你轉換,可是假如後端用restful,那就只能用以下辦法處理

JavaScript 代碼:

<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:"PUT",  
      url:"/user",  
      dataType:"json",    
      contentType:"application/json;charset=utf-8",         
      data:JSON.stringify(saveData),  
      success:function(data){  
                     
      }  
     });  
  });  
</script>  

後端springMVC接納

@RequestMapping(value = "user", method = RequestMethod.PUT )  
  @ResponseBody  
  public void saveUser(@RequestBody List<User> users) {  
     userService.batchSave(users);  
  }  

留意:提交的data必需為json格式字符串,content-type為'application/json; charset=utf-8'標明提交的類型和編碼格式,dataType是預期服務端前往的數據類型,其中對json字符串的格式有嚴厲要求,形如:'{"type":"type","fileftppath":"fileftppath","map":{"id":1,"name":"suo"}}',字符串,key的雙引號是必需的,否則400 bad request,當然假如你數據格式不正確,也會400,比方你傳了個"step1",後端用Integer接納,也是400,直接從json對象轉json串,這個json串格式是不會有問題的,假如400,只能是數據格式了

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved