springboot 全局异常拦截器,友好异常提示

1. 添加config 配置类

package org.fh.config;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.HandlerExceptionResolver;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.view.json.MappingJackson2JsonView;

/**

 * 说明:错误异常拦截处理

 * 作者:FH Admin

 * from fhadmin.cn

 */

@Configuration

public class ExceptionConfiguration implements HandlerExceptionResolver {

@Override

public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,

Exception ex) {

ModelAndView mv = new ModelAndView(new MappingJackson2JsonView());//返回json

String exInfo = ex.toString().replaceAll("\n", "<br/>");

boolean status = exInfo.contains("Subject does not have permission");

if(status){

exInfo = "[没有此页面的访问权限]" + exInfo;

        }else {

        System.out.println("==============异常开始=============");

    ex.printStackTrace();

    System.out.println("==============异常结束=============");

        }

mv.addObject("exception", exInfo);

mv.addObject("result", "exception");

return mv;

}

}

2.  在逻辑类的方法上抛出异常 throws Exception,比如

/**删除

 * @param out

 * @throws Exception

 */

@RequestMapping(value="/delete")

@RequiresPermissions("autograph:del")

@ResponseBody

public Object delete() throws Exception{

Map<String,String> map = new HashMap<String,String>();

String errInfo = "success";

//xxxx

map.put("result", errInfo);//返回结果

return map;

}

3. 前端页面接收异常结果

//发送 post 请求提交保存

            $.ajax({

            xhrFields: {

                    withCredentials: true

                },

type: "POST",

url: httpurl+'xxxx/delete',

    data: {tm:new Date().getTime()},

dataType:"json",

success: function(data){

                        if("success" == data.result){

                        }else if ("exception" == data.result){

                        alert("模块异常"+data.exception);//显示异常

                        }

                    }

});
(0)

相关推荐