就像在主题中一样。我有我的资源类:
public class HelloWorldEndpoint implements IRest {
public String sayHello()
{
return "Hello world!";
}
}
和界面:
@Path("/helloworld")
public interface IRest {
@GET
@Path("/hello")
String sayHello();
}
是否可以仅使用@Path类注释来匹配HelloWorldEndpoint中的sayHello()?这是资源类实现的非常具体的示例,但它表明可以在类中没有任何注释的情况下使用REST端点。我已尝试使用 inheritsAnnotation()和 isAnnotatedWith ()但不幸的是,它没有这样做。我的目标是找到所有资源类:)
答案 0 :(得分:0)
接口的注释不是根据Java Langauge规范继承的。例如,它们既不会被反射API暴露出来。
为了发现注释,您可以手动遍历类层次结构并查找有问题的注释。这可以通过hasSuperType(isAnnotatedWith(...))
实现。请注意,这是一个相当昂贵的匹配条件。