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
extendesUriInfo
,因此实际上不需要同时注入这两种信息。