# 数据校验拦截
# 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());
}
}