2016-07-21 47 views
3

配置Swagger 2时是否有任何指定多个包的方法?多个资源包与Swagger 2

BeanConfig beanConfig = new BeanConfig(); 
    beanConfig.setVersion("1.0.0"); 
    beanConfig.setResourcePackage("com.company1.resources ; org.company2.resources"); 
    beanConfig.setScan(true); 

BeanConfig.setResourcePackage只需要一个字符串。如果我将它们与空间分开,则只考虑第一个。如果我用semicolon尝试,招摇并没有找到任何。

我有新泽西州春启动应用程序2.

回答

4

我还没有看到这个记录任何地方,但基于当前扬鞭核心代码(1.5.10),它看起来像你分开由多个包逗号(',')。下面是从BeanConfig.java相关片段:

if (resourcePackage != null && !"".equals(resourcePackage)) { 
     String[] parts = resourcePackage.split(","); 
     for (String pkg : parts) { 
      if (!"".equals(pkg)) { 
       acceptablePackages.add(pkg); 
       config.addUrls(ClasspathHelper.forPackage(pkg)); 
      } 
     } 
    } else { 
     allowAllPackages = true; 
    } 

再往下它出现在allowAllPackages标志导致扬鞭产生于应用程序的类路径中有JAX-RS注释的所有类的文档。根据您拥有的依赖关系,根本不设置资源包可能是一种选择。尽管如此,使用逗号分隔列表可能更安全。

编辑:

我没有找到这提到的documentation

setResourcePackage(字符串)

resourcePackage

设置哪个包(S)扬鞭应该扫描挑提供资源。如果有多个包,它可以是逗号分隔包的列表。