• spring boot 中统一异常处理


    基于 spring boot 对异常处理的不友好,现在通过其他的方式来统一处理异常

    步骤一:自定义异常类

    public class UserNotExistException extends RuntimeException{
        private static final long serialVersionUID = -1574716826948451793L;
    
        private String id;
    
        public UserNotExistException(String id){
            super("user not exist");
            this.id = id;
        }
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    }

    步骤二:定义异常处理类

    @ControllerAdvice
    public class ControllerExceptionHandler {
    
        @ExceptionHandler(UserNotExistException.class)
        @ResponseBody
        @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
        public Map<String, Object> handleUserNotExistsException(UserNotExistException e) {
            Map<String, Object> map = new HashMap<>();
            map.put("id", e.getId());
            map.put("message", e.getMessage());
            return map;
        }
    }

    步骤三:控制层抛出异常

      @GetMapping("/{id:\d+}")
        public void get(@PathVariable String id) {
            throw new UserNotExistException(id);
       }
  • 相关阅读:
    软工实践个人总结
    第02组 Beta版本演示
    第02组 Beta冲刺(5/5)
    第02组 Beta冲刺(4/5)
    第02组 Beta冲刺(3/5)
    第02组 Beta冲刺(2/5)
    第02组 Beta冲刺(1/5)
    第02组 Alpha事后诸葛亮
    第02组 Alpha冲刺(6/6)
    第02组 Alpha冲刺(5/6)
  • 原文地址:https://www.cnblogs.com/baizhuang/p/10439444.html
Copyright © 2020-2023  润新知