2016-07-21 77 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)揚鞭應該掃描挑提供資源。如果有多個包,它可以是逗號分隔包的列表。