昨天和前端小伙伴在联调是碰到了参数接收不到的错误,我在postman上测试接口是正常的,但是与前端对接时就接受不到参数,请求方式都是get,但是问题就在于json 和 form-data 的区别!这是一个SpringBoot+Vue的前后端分离项目
1)如果前端传的是json,后端接受时要用@RequestBody注解,json对象要与实体类对应
public boolean updateKnowledge(@RequestBody Knowledge knowledge){
return knowledgeService.updateKnowledge(knowledge);
}
如果json没有与实体类对应的话,可以有另外一种方法,利用JSONObject对象取值,可以直接转换成你需要的类型,这里仅展示string类型
public int deleteKnowledge(@RequestBody JSONObject obj){
return knowledgeService.deleteKnowledge(obj.getString("id"));
}
2)如果前端传的是form-data,后端接受时要用@RequestParam注解,表单的key也要与实体类的字段对应
public void downloadFile( @RequestParam("groupName") String groupName,@RequestParam("url") String url, HttpServletResponse response) throws IOException {
MyFile myFile = new MyFile();
myFile.setGroupName(groupName);
myF