zuul如何处理自定义异常

阅读 73

2022-05-01

问题:如何在继承ZuulType类后,再其run()方法中抛出自定义异常?

不能捕获的原因是:过滤器在拦截器之前,全局捕获只能捕获controller的接口,无法直接捕获到ZuulFilter中

如:

public MyZuulFilter extends ZuulFilter{
    @Override
    public Object run() throws Exception{
        throw new MyException("自定义异常");
    }
}

要识别抛出的异常,最简单的方法是自定义一个Controller类实现ErrorController类,重写其getErrorPath()方法,比如return "/error"

根据不同的请求类型,定义不同的/error接口,然后再接口中重新抛出异常,再根据全局异常捕获类进行捕获

精彩评论(0)

0 0 举报