So I've got a code:
@Path("/foo")
public class Hello {
@GET
@Produces("text/html")
public String getHtml(@Context Request request, @Context HttpServletRequest requestss){
...
}
I am using AspectJ to catch all calls to getHtml
method. I would like to get parameters passed to @Produces
and to @Path
in my advice, i.e. "/foo"
and "text/html"
in this case. How can I do it using reflection ?
To get value of the @Path
parameter:
String path = Hello.class.getAnnotation(Path.class).value();
Similarly, Once you have hold of Method
getHtml
Method m = Hello.class.getMethod("getHtml", ..);
String mime = m.getAnnotation(Produces.class).value;