创建过滤器以处理异常JERSEY

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建过滤器以处理异常JERSEY相关的知识,希望对你有一定的参考价值。

我需要创建一个处理异常的过滤器。详细说明我的程序中使用泽西过滤器时出现异常并且必须返回500错误。这是我的Filter.class:

@Provider
public class Filter implements ContainerResponseFilter {


    @Override
    public void filter(ContainerRequestContext request, ContainerResponseContext response) throws IOException {


    }
}

如何指定抛出异常时调用此方法并返回500代码错误?有人可以帮帮我吗?

答案

您可以扩展ExceptionMapper:

@Provider
public class ApplicationExceptionMapper implements ExceptionMapper<Exception> {

    @Override
    public Response toResponse(Exception ex) { 
       return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
                    .type("text/plain").build();
    }
}

以上是关于创建过滤器以处理异常JERSEY的主要内容,如果未能解决你的问题,请参考以下文章

泽西岛和过滤器异常处理

Jersey ExceptionMapper未被调用

将对象注入过滤器

Servlet过滤器和Jersey过滤器有什么区别?

Jersey Exception Mapper不处理Resource Constructor中的异常

以编程方式创建 MapView 并添加标记导致片段中出现空指针异常