在进行登录注册逻辑的编写时,我们要用户输入个人账号以及密码,这时候我们需要验证用户输入的账号以及密码是否符合规范。比如说我们要求用户输入的账号必须是5-16位之间的长度,密码也是5-16之间的长度,那么用户输入不满要求就要给出提示。这种校验方式不仅需要在前端进行处理,也要在后端进行校验处理。当然在后端我们可以使用if语句来判断,但是这样的话代码非常不美观,我们可以使用springboot框架提供的Spring Validation进行处理。
对于后端进行参数校验的步骤可以分为以下步骤:
1、导入validation坐标:
2、在参数上添加@Pattern注解,指定校验规则,其中^$是规范,要在内部写要求,\S表示不为空,第一个\表示字符转换:
3、在Controller上添加@Validatted注解
4、写全局异常处理器。这是因为如果用户输入非法账号,后端会报500错误,而且返回的json不是按照Result前后端通信规范格式的。所以我们要对异常进行处理,我们也不可能直接在controller那个方法下面直接try catch,因为非法字符是直接用户输入的,没法捕获的。所以我们就写一个全局异常处理类来处理异常并返回。
1)新建一个exception包,在包下面创建GlobalExceptionHandler类,在类上添加@RestControllerAdvice注解表明是全局异常处理器。然后再方法上添加@ExceptionHandler注解表示捕获哪种类型的异常。