JavaEE6 + REST:如何在运行时获取所有REST资源?

时间:2010-06-28 13:54:39

标签: java web-services rest java-ee glassfish

是否有可能在运行时获取所有已注册REST资源的列表?

使用REST资源我的意思是:

  • 服务器在运行时考虑,其中包含@Path(...) 等注释(因此使用反射遍历所有类都不会这样做),< / LI> 所有路径的
  • URI (REST类可以有多个路径)。

注1:我使用自动配置(JavaEE 6的新功能)和Netbeans只生成一个空的ApplicationConfig类。

注意2:使用Netbeans 6.9,JavaEE 6,Glassfish 3.是否需要有关我的生态系统的更多信息?

2 个答案:

答案 0 :(得分:5)

您使用的是Jersey吗?如果是,则在/application.wadl自动生成WADL。 WADL包含许多有关已注册资源路径的信息。

另请参阅:WADL Support

答案 1 :(得分:-1)

public synchronized Response doSomething(@Context Application c, @FormParam("someParam") String someParam)
    throws Exception {

    // gives a list of classes which are used by this Jersey instance
    // and have REST-related annotations
    c.getSingletons(); // returns Set<Object>

    return something;
}