如何在我的过滤器上过滤特定的URL以实现ContainerRequestFilter和ContainerResponseFilter?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在我的过滤器上过滤特定的URL以实现ContainerRequestFilter和ContainerResponseFilter?相关的知识,希望对你有一定的参考价值。

我正在实现如下过滤器:

@Provider
public class MyFilter implements ContainerRequestFilter, ContainerResponseFilter {

    @Override
    public void filter(ContainerRequestContext requestContext) throws IOException {
       System.out.print("request");
    }

    @Override
    public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
       System.out.print("response");
    }

}

如何使过滤器仅适用于遵循特定模式(正则表达式)的URL?

答案

过滤器中不允许使用正则表达式 - 有些通配符是

<filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>...</filter-class>
</filter>

<filter-mapping>
    <filter-name> MyFilter</filter-name>
    <url-pattern>/Employee/*</url-pattern>
</filter-mapping>

您可以使用过滤器缩小URL,然后在过滤器Java代码中,您可以使用RegEx进行条件处理

以上是关于如何在我的过滤器上过滤特定的URL以实现ContainerRequestFilter和ContainerResponseFilter?的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS - 如何在我输入时在文本框上应用货币过滤器?

如何仅针对特定 url 添加 Spring Security 验证码过滤器

如何自定义响应错误 400 错误请求

如何使用 coreData 过滤数据

如何在android中使用意图过滤器获取数据

如何检查用户是不是在 LDAP 组中