SpringBoot接收前端參數的幾種方式


   昨天和前端小伙伴在聯調是碰到了參數接收不到的錯誤,我在postman上測試接口是正常的,但是與前端對接時就接收不到參數,但是問題就在於json  和 form-data 的區別!這是一個SpringBoot+Vue的前后端分離項目

1)如果前端傳的是json,后端接受時要用@RequestBody注解,json對象要與實體類對應

1 public boolean updateKnowledge(@RequestBody Knowledge knowledge){ 2         return knowledgeService.updateKnowledge(knowledge); 3     }

 如果json沒有與實體類對應的話,可以有另外一種方法,利用JSONObject對象取值,可以直接轉換成你需要的類型,這里僅展示string類型

1 public int deleteKnowledge(@RequestBody JSONObject obj){ 2         return knowledgeService.deleteKnowledge(obj.getString("id")); 3     }

2)如果前端傳的是form-data,后端接受時要用@RequestParam注解,表單的key也要與實體類的字段對應

1 public void downloadFile( @RequestParam("groupName") String groupName,@RequestParam("url") String url, HttpServletResponse response) throws IOException { 2         MyFile myFile = new MyFile(); 3  myFile.setGroupName(groupName); 4  myFile.setUrl(url); 5  myFileService.downloadFile(myFile,response); 6     }

 

如果有什么疑問歡迎留言,當然我也不一定懂!一起學習一起進步,群876083754


免責聲明!

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



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