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

posted @ 2020-07-17 11:12  土豆GPT  阅读(4934)  评论(0编辑  收藏  举报