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