我可以编写一个响应过滤器来停止执行链中的其他过滤器吗?
public class MyResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext containerRequestContext, ContainerResponseContext containerResponseContext) throws IOException {
Response response = HttpConnection.getCurrentConnection().getHttpChannel().getResponse();
if (response.isCommitted()) {
//stop processing here
}
}
}
ContainerRequestContext有一个abort方法,但ContainerResponseContext没有。
我想这样做,因为我使用第三方请求过滤器写入响应,然后抛出WebApplicationException,我不希望响应链将WebApplicationException转换为Response并再次写入。