出现问题:java.lang.IllegalArgumentException: Unknown entity: java.util.LinkedHashMap
错误:
@RequestMapping("/addData")
@RequiresPermissions("CUST_BANK:ADD")
public @ResponseBody String addData(@RequestParam Map<String, Object> params) {
try {
custBankService.saveCustBank(params);
} catch (Exception e) {
e.printStackTrace();
return "0";
}
return "1";
}
改正:
@RequestMapping("/addData")
@RequiresPermissions("CUST_BANK:ADD")
public @ResponseBody String addData( CustBank c) {
try {
custBankService.saveEntity(c);
} catch (Exception e) {
e.printStackTrace();
return "0";
}
return "1";
}
注:CustBank 是实体类
按照我的想法,添加的内容是从页面传来的,用@RequestParam,
但实际情况传的参数是custBank,想知道这两个有什么区别?分别都在上面情况下使用?为什么会出现上面描述的错误?
期待您的回答。
谢谢!
为啥作为实体类你的接收参数名为C,到用注解接收时是param
Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值,
所以对象基本不用添加注解,除非前端做了规定传入json格式后端要写@requestBody 。
@resuestParam 好像只是加在普通参数身上没注意过,我一般都是用在string,integer这种基本类型身上,不过要使用包装类,再就是规范是他的参数值value=对应你的参数名