错误代码:
@GetMapping(value = "/{id}")
public Result queryUserById(@PathVariable Long id) {
Result result = new Result();
User user = iUserService.getById(id);
// 根据查询结果对result进行设置
if (user != null) {
result.setCode(Code.GET_OK);
result.setMsg("成功");
result.setData(user);
} else {
result.setCode(Code.GET_ERR);
result.setMsg("失败");
}
return result;
}
@GetMapping
public Result queryAllUsers() {
Result result = new Result();
List<User> users = iUserService.list(null);
if (users != null && users.size() > 0) {
result.setCode(Code.GET_OK);
result.setMsg("成功");
result.setData(users);
} else {
result.setCode(Code.GET_ERR);
result.setMsg("失败");
}
System.out.println("users = " + users);
return result;
}
@GetMapping("/{current}")
public Result findUserByPage(@PathVariable Integer current){
IPage<User> p = new Page<>(current,2);
// page中有 查询的结果
//
IPage<User> page = iUserService.page(p);
//分页展示的数据
List<User> list = page.getRecords();
//分页的总数 (多少页)
Long pages = page.getPages();
Result result = new Result();
result.setCode(100);
result.setMsg("成功");
//封装 分页的数据
PageBean<User> pageBean = new PageBean<>();
pageBean.setList(list);
pageBean.setPages(pages.intValue());
result.setData(pageBean);
return result;
}
错误原因:
写了两个@GetMapping(value = "/{id}"), @GetMapping("/{current}")后端无法对这两个进行识别,因为在后端看来这两个东西都是"/数据"的格式,因此无法识别出来。
总结:
不要以人的思维去看程序,人可能能识别形参的区别,但是机器却不能识别。