• Spring 对Controller异常的统一处理


    对于Controller的异常处理,分为两种,一种是对已知的异常处理,一种是未知的异常处理

    1、定义自定义异常类

    /**
     * @author hzc
     *
     */
    public class UserNotExitException extends RuntimeException {
    
        /**
         * 
         */
        private static final long serialVersionUID = -6271509017751433865L;
    
        private String id;
        
        public UserNotExitException(String id) {
            super("user not exit");
            this.setId(id);
        }
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
        
    }

    2、使用@ControllerAdvice

    import java.util.HashMap;
    import java.util.Map;
    import org.springframework.http.HttpStatus;
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.ResponseStatus;
    import com.maple.exception.UserNotExitException;
    
    @ControllerAdvice
    public class ControllerExceptionHandle { 
        @ExceptionHandler(UserNotExitException.class)
        @ResponseBody
        @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
        public Map<String, Object> handleUserNotExistException(UserNotExitException ex){
            Map<String, Object> result = new HashMap<>();
            result.put("id", ex.getId());
            result.put("message", ex.getMessage());     
            return result;
        }
    }
  • 相关阅读:
    js监听全屏的事件
    java后端发送请求
    java参数转换为javaBean对象
    Cesiumjs初学第一天
    echarts设置toolTip大小和样式问题
    楼梯式导航
    SpringMybatisMapper
    ASP.NET Session丢失的情况
    C# 生成随机数
    c#实现每隔规定时间自动执行程序代码
  • 原文地址:https://www.cnblogs.com/maple92/p/10781056.html
Copyright © 2020-2023  润新知