SpringBoot
一、参数校验 Spring Validation
1、导入validation坐标
2、在参数上添加@Pattern注解,指定校验规则
3、在Controller类上添加@Validated注解
@RestController
@RequestMapping("/user")
@Validated
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/register")
public Result register(@Pattern(regexp = "^\\S{5,16}$") String username,@Pattern(regexp = "^\\S{5,16}$") String password){
//查询用户
User user = userService.findByUserName(username);
if (user == null){
//注册
userService.register(username,password);
return Result.success();
}else {
//占用
return Result.error("用户名已被占用");
}
};
}
4、在全局异常处理器中处理参数校验失败的异常
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public Result handleException(Exception e){
e.printStackTrace();
return Result.error(StringUtils.hasLength(e.getMessage())?e.getMessage():"操作失败");
}
}