前两天跟小伙伴一起做项目的时候遇到一个问题

我们前端同志传递过来的参数无论如何也接收不到,debug发现根本没有传进来,而前端明明传了

后来在哥们儿的帮助下发现原来是参数名的问题…

用的是代码生成器,生成的javabean的属性名是这样的uname

而生成的getter/setter方法名是这样的…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* 获取活动名称
*
* @return 活动名称
*/
public String getEName() {
return this.eName;
}

/**
* 设置活动名称
*
* @param eName
* 活动名称
*/
public void setEName(String eName) {
this.eName = eName;
}

直接导致参数接收不到

解决办法是用

1
2
3
4
5
@PostMapping("/event/add")
public AjaxJson addEvent(@RequestBody Map<String, Object> map) {
QhdEventVO qhdEventVO = BeanUtil.mapToBean(map, QhdEventVO.class, true);
return apiEventService.addEvent(qhdEventVO);
}

用Map接收,再转换成javabean…

希望大家以后命名严格遵守阿里命名规范,不要踩我这个坑了