权限:需要管理员权限
获取的列表不包含密码
所以,同学们要学会自定义查询字段内容
API接口
@GetMapping("/list")
public ResponseResult listUsers(HttpServletRequest request,
HttpServletResponse response,
@RequestParam("page") int page, @RequestParam("size") int size) {
return userService.listUsers(request,
response, page, size);
}
实现代码
@Override
public ResponseResult listUsers(HttpServletRequest request, HttpServletResponse response, int page, int size) {
SobUser currentUser = checkSobUser(request, response);
if (currentUser == null) {
return ResponseResult.ACCOUNT_NOT_LOGIN();
}
//判断角色
if (!Constants.User.ROLE_ADMIN.equals(currentUser.getRoles())) {
return ResponseResult.PERMISSION_FORBID();
}
if (page < Constants.Page.DEFAULT_PAGE) {
page = Constants.Page.DEFAULT_PAGE;
}
if (size < Constants.Page.DEFAULT_SIZE) {
size = Constants.Page.DEFAULT_SIZE;
}
Sort sort = new Sort(Sort.Direction.DESC, "createTime");
Pageable pageable = PageRequest.of(page - 1, size, sort);
Page<SobUser> all = userDao.listAllUserNoPassword(pageable);
return ResponseResult.SUCCESS("获取用户列表成功.").setData(all);
}
DAO查询代码
@Query(value = "select new SobUser(u.id,u.userName,u.roles,u.avatar,u.email,u.sign,u.state,u.regIp,u.loginIp,u.createTime,u.updateTime) from SobUser as u")
Page<SobUser> listAllUserNoPassword(Pageable pageable);
SobUser类需要创建对应的构造方法
默认必须要有一个空参的构造方法