@RequestBody 的正確使用辦法


1.以前一直以為在SpringMVC環境中,@RequestBody接收的是一個Json對象,一直在調試代碼都沒有成功,后來發現,其實 @RequestBody接收的是一個Json對象的字符串,而不是一個Json對象。然而在ajax請求往往傳的都是Json對象,后來發現用 JSON.stringify(data)的方式就能將對象變成字符串。同時ajax請求的時候也要指定dataType: "json",contentType:"application/json" 這樣就可以輕易的將一個對象或者List傳到Java端,使用@RequestBody即可綁定對象或者List.

 

 

2.

最近在接收一個要離職同事的工作,接手的項目是用SpringBoot搭建的,其中看到了這樣的寫法:

 

[java]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. @RequestMapping("doThis")  
  2. public String doThis(HttpServletRequest request,  
  3.         @RequestParam("id") Long id, // 用戶ID  
  4.         @RequestParam("back_url") String back_url, // 回調地址           

 

 

 

  @RequestBody的使用需要加載MappingJackson2HttpMessageConverter,但是SpringBoot的官方文檔提到,這個是默認已經加載的了,而且json字符串和javabean也沒有書寫的錯誤

 

 

 

    2、直接通過瀏覽器輸入url時,@RequestBody獲取不到json對象,需要用java編程或者基於ajax的方法請求,將Content-Type設置為application/json


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM