Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从泽西岛的URI获取处理程序?_Java_Rest_Jersey - Fatal编程技术网

Java 从泽西岛的URI获取处理程序?

Java 从泽西岛的URI获取处理程序?,java,rest,jersey,Java,Rest,Jersey,在ContainerResponseFilter中,我想获取“处理程序”,即@Path所在的类和@get/@PUT-注释的方法与我将提供的URL匹配 例如: someJerseyVariable.getHandlerForURI(request.getRequestUri()); 我找不到任何类似的方法 我之所以要这样做,是为了统计每个处理程序处理了多少请求以及成功/失败了多少请求。也欢迎任何其他替代品。您可以注射或注射UriInfo只包含最后一个匹配的类,ExtendeDriInfo甚至可

ContainerResponseFilter
中,我想获取“处理程序”,即
@Path
所在的类和
@get
/
@PUT
-注释的方法与我将提供的URL匹配

例如:

someJerseyVariable.getHandlerForURI(request.getRequestUri()); 
我找不到任何类似的方法

我之所以要这样做,是为了统计每个处理程序处理了多少请求以及成功/失败了多少请求。也欢迎任何其他替代品。

您可以注射或注射
UriInfo
只包含最后一个匹配的类,
ExtendeDriInfo
甚至可以报告匹配的方法(更多信息,请参阅链接的javadocs)

代码示例:

public class Filter implements ContainerResponseFilter {
    @Context UriInfo uriInfo;
    @Context ExtendedUriInfo extendedUriInfo;

    @Override
    public ContainerResponse filter(ContainerRequest request, ContainerResponse response) {
        System.out.println(uriInfo.getMatchedResources().get(0).getClass());
        System.out.println(extendedUriInfo.getMatchedMethod().toString());
        return response;
    }
}

那么,您是如何计算出有多少成功/失败的呢?+1,请注意
extendedriinfo
extendes
UriInfo
,因此实际上不需要同时注入这两种信息。