验证码-自定义异常处理器

159 阅读1分钟
//验证码图片
public ResponseEntity verification(String uuid, HttpServletResponse response) throws IOException {
    LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(300, 100);
    String code = lineCaptcha.getCode();
    stringRedisTemplate.opsForValue().set(uuid, code);
    lineCaptcha.write(response.getOutputStream());
    return ResponseEntity.ok(null);
}

BusinessException

 // 自定义业务异常
 public class BusinessException extends RuntimeException {
     public BusinessException(String message){ 
         super(message);
     }
 }

GlobalExceptionAdvice

 @ControllerAdvice
 public class GlobalExceptionAdvice {

     @ExceptionHandler(Exception.class)
     public ResponseEntity handlerException(Exception ex) {
         //将错误信息输出到日志/控制台
         System.out.println(ex.getMessage());
       
         String message = "网络繁忙~~~";
         if (ex instanceof BusinessException) {
             message = ex.getMessage();
         }
         
       return ResponseEntity.status(500).body(message);
     }
 }