# 数据校验拦截

# controller @Validated

    @PostMapping("/auth")
    public ApiResponse<PassportTokenVo> auth(@Validated @RequestBody PassportAuthDto passportAuthDto)
    {
        PassportTokenVo passportTokenVo = adminService.passport(passportAuthDto);
        return ApiResponse.success(ResponseCodeEnum.SUCCESS.getCode(), "登录成功", passportTokenVo);
    }

# Query DTO

public class PassportAuthDto {

    @NotNull(message = "手机号必填")
    @NotEmpty(message = "手机号不能为空")
    private String mobile;

    @NotNull(message = "密码必填")
    @NotEmpty(message = "密码不能为空")
    private String password;
}

# Validated拦截器Advice

package com.xxx.advice;

@RestControllerAdvice
public class ValidateExceptionAdvice {

    @ExceptionHandler({BindException.class})
    public ApiResponse<Object> validationBodyException(BindException exception) {
        ObjectError objectError = exception.getBindingResult().getAllErrors().get(0);
        return ApiResponse.failed(ResponseCodeEnum.FAILED.getCode(), objectError.getDefaultMessage());
    }
}