美文网首页
SpringBoot 404等异常时返回JSON字符串

SpringBoot 404等异常时返回JSON字符串

作者: 12313凯皇 | 来源:发表于2019-04-03 20:24 被阅读0次
    步骤一

    application.properties文件中添加如下两句:

    #没有绑定的url直接抛出错误
    spring.mvc.throw-exception-if-no-handler-found=true
    #不为静态文件建立映射
    spring.resources.add-mappings=false
    
    步骤二

    自定义一个异常处理类AllExceptionHandler

    @RestControllerAdvice
    public class AllExceptionHandler {
    
        private static Logger logger = LoggerFactory.getLogger(AllExceptionHandler.class);
    
        @ExceptionHandler(value = Exception.class)
        public Msg defaultErrorHandler(Exception e) {
            logger.error("AllExceptionHandler ", e);
    
            if (e instanceof org.springframework.web.servlet.NoHandlerFoundException) {
                //404 Not Found
                return new Msg(404, e.getMessage());
            } else {
                //500
                return new Msg(500, e.getMessage());
            }
        }
    }
    

    自定义的Msg类:

    public class Msg {
    
        /**
         * 返回码
         */
        private int resultCode;
    
        /**
         * 备注信息
         */
        private String info;
    
        /**
         * 空构造函数
         */
        public Msg() {
        }
    
        /**
         * 自定义消息
         *
         * @param resultCode resultCode
         * @param info       info
         */
        public Msg(int resultCode, String info) {
            this.resultCode = resultCode;
            this.info = info;
        }
    
       ...
    
    }
    

    搞定!

    相关文章

      网友评论

          本文标题:SpringBoot 404等异常时返回JSON字符串

          本文链接:https://www.haomeiwen.com/subject/sqdtiqtx.html