1) (JAX-RS) inject ResourceInfo ([1]) into your (post-matching) request
filter
2) (Jersey specific) if you need more info cast UriInfo into
ExtendedUriInfo ([2]) and look for getMatchedResourceMethod() ([3])
3) (JAX-RS) bind the container request filter directly to a resource
method - it's opposite approach than yours, described here [4]
On 29.04.2014, 20:51 , Robert DiFalco wrote:
> Is there a way to access the Resource method that will be called in a
> ContainerRequestFilter? I have a scenario where I want Basic
> Authentication on my REST API. This was a very simple filter to write.
> However, there are some methods that I want to be unauthenticated.
>
> My naive approach was to create an annotation @Unauthenticated that I
> could either put on a Resource at the class or method level. Then in
> my filter I could see if this annotation exists and if it does skip my
> Basic API authentication.
>
> Unfortunately, while I *can* figure out how to get the resource object
> in the filter by calling
> 'requestCtx.getUriInfo().getMatchedResources()' I can *NOT* figure out
> how to get the method that is going to be invoked.
>
> So I can check for annotations at the class level but I cannot figure
> out how to check for them at the method level. Any guidance would be
> greatly appreciated!