Spring boot 方法参数验证

xiaoxiao2021-02-28  63

Spring boot 自动配置与注入 MethodValidationPostProcessor

只需要在需要验证的类上注解 @Validated

并通过捕获 ConstraintViolationException 异常,处理后续提示消息等

@RestController @Validated public class UserApi { @GetMapping("/get") MarketCat get(@NotNull(message="缺少参数uid") String uid) { return userSvc.getUser(uid); } @Resource private UserSvc userSvc; }

异常处理

@ControllerAdvice public class GlobalExceptionHandler { @ResponseBody @ExceptionHandler(ConstraintViolationException.class) public String handleApiConstraintViolationException(ConstraintViolationException ex) { String message = ""; Set<ConstraintViolation<?>> violations = ex.getConstraintViolations(); for (ConstraintViolation<?> violation : violations) { message += violation.getMessage() + ", "; } return message; } }

转载请注明原文地址: https://www.6miu.com/read-83919.html

最新回复(0)