Java 招摇过市和自动资源发现

Java 招摇过市和自动资源发现,java,jax-rs,swagger,jersey-2.0,Java,Jax Rs,Swagger,Jersey 2.0,根据本教程:使用自定义应用程序类,我正在使用Swagger for Jersey2。为了使Swagger正确初始化,需要实现对getClasses()的重写 不幸的是,这也意味着我必须手动将资源中的每个类添加到HashSet中。如果我不这样做,所有端点都返回404。但是当我不使用Swagger时,我不必重写该方法,我的所有REST资源都会被JAX-RS注释自动发现 有没有一种方法可以注册Swagger类,但同时保留我个人资源的自动发现功能?使用扩展了应用程序的aResourceConfig有一个

根据本教程:使用自定义应用程序类,我正在使用Swagger for Jersey2。为了使Swagger正确初始化,需要实现对
getClasses()
的重写

不幸的是,这也意味着我必须手动将资源中的每个类添加到HashSet中。如果我不这样做,所有端点都返回404。但是当我不使用Swagger时,我不必重写该方法,我的所有REST资源都会被JAX-RS注释自动发现

有没有一种方法可以注册Swagger类,但同时保留我个人资源的自动发现功能?

使用扩展了
应用程序的a
ResourceConfig
有一个通过包扫描注册所有类的
packages
方法,您可以在
ResourceConfig
上注册调用
register
的招摇过市组件。您可以在构造函数中完成所有这些操作

@ApplicationPath("/api")
public class AppConfig extends ResourceConfig {
    public AppConfig() {
        packages("the.packages.to.scan");
        register(SwaggerComponent.class);
    }
}
另请参见:

  • 另一种选择。它使用标准的JAX-RSAPI。但是也可以看到关于类路径扫描以及为什么不应该使用它的链接。包扫描它更好,更快