我正在尝试实现一个ContainerRequestFilter对请求参数进行自定义验证的方法.我需要查找将与URI匹配的资源方法,以便我可以从方法的参数中删除自定义注释.
根据这个答案,我应该能够注入ExtendedUriInfo然后使用它来匹配方法:
public final class MyRequestFilter implements ContainerRequestFilter {
@Context private ExtendedUriInfo uriInfo;
@Override
public ContainerRequest filter(ContainerRequest containerRequest) {
System.out.println(uriInfo.getMatchedMethod());
return containerRequest;
}
}
Run Code Online (Sandbox Code Playgroud)
但getMatchedMethod显然会返回null,直到实际调用该方法为止(此时对我来说进行验证为时已晚).
Method在调用资源方法之前,如何检索与给定URI匹配的内容?
对于那些感兴趣的人,我正在尝试推出我自己的必需参数验证,如JERSEY-351中所述.