users@jersey.java.net

[Jersey] Access to method in a filter

From: Robert DiFalco <robert.difalco_at_gmail.com>
Date: Tue, 29 Apr 2014 11:51:06 -0700

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!