栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

球衣请求过滤器仅在某些URI上

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

球衣请求过滤器仅在某些URI上

我假设您正在使用Jersey 2.x(JAX-RS 2.0 API的实现)。

您有两种方法可以实现自己的目标。

1.使用名称绑定:


1.1创建使用@NameBinding注释的自定义注释:

@NameBinding@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)public @interface AnnotationForResourceOne {}

1.2。使用您的注释创建过滤器:

@Provider@AnnotationForResourceOnepublic class ResourceoneFilter implements ContainerRequestFilter {...}

1.3。并将创建的过滤器与所选资源方法绑定:

@Path("/resources")public class Resources {    @GET    @Path("/resourceOne")    @AnnotationForResourceOne    public String getResourceOne() {...}}

2.使用DynamicFeature:


2.1。创建过滤器:

public class ResourceoneFilter implements ContainerRequestFilter {...}

2.2。实现javax.ws.rs.container.DynamicFeature接口:

@Providerpublic class MaxAgeFeature implements DynamicFeature {    public void configure(ResourceInfo ri, FeatureContext ctx) {        if(resourceShouldBeFiltered(ri)){ ResourceoneFilter filter = new ResourceoneFilter(); ctx.register(filter);        }    }}

在这种情况下:

  • 过滤器未使用注释进行
    @Provider
    注释;
  • configure(...)
    对每个资源方法都调用该方法;
  • ctx.register(filter)
    用资源方法绑定过滤器;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496738.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号