2017-05-31 31 views
2

我在互聯網上搜索瞭如何自定義我的多個終端的終端,但還沒有找到答案。用springfox自定義終端的端點Swagger

我的模塊有幾個API。我想在不同的端點上生成Swagger文檔,每個端點都位於相應API的根目錄下。例如:

  • 本地主機:8080/V1 /訂閱/ DOC

  • 本地主機:8080/V1 /桶/ DOC

我發現只有一個辦法有不同我的終端的端點,但URL不符合我想要的。它們是:

  • 本地主機:8080/DOC組=訂閱

  • 本地主機:8080/DOC組=桶

這裏是我揚鞭配置文件

@Configuration 
@EnableSwagger2 
public class SwaggerConfiguration { 

@Value("${info.version}") 
private String version; 

@Bean 
public Docket subscriptionsApi() { 
    return new Docket(DocumentationType.SWAGGER_2) 
      .groupName("subscriptions") 
      .apiInfo(subscriptionsApiInfo()) 
      .select() 
      .apis(RequestHandlerSelectors.basePackage("com.mymodule")) 
      .paths(PathSelectors.ant("/v1/subscriptions/**")) 
      .build(); 
} 

@Bean 
public Docket bucketsApi() { 
    return new Docket(DocumentationType.SWAGGER_2) 
      .groupName("buckets") 
      .apiInfo(bucketsApiInfo()) 
      .select() 
      .apis(RequestHandlerSelectors.basePackage("com.mymodule")) 
      .paths(PathSelectors.ant("/v1/buckets/**")) 
      .build(); 
} 

private ApiInfo subscriptionsApiInfo() { 
    return new ApiInfoBuilder() 
      .title("Subscriptions Api definition") 
      .description("Subscriptions Api definition") 
      .version(version) 
      .build(); 
} 

private ApiInfo bucketsApiInfo() { 
    return new ApiInfoBuilder() 
      .title("Bucket Api definition") 
      .description("Bucket Api definition") 
      .version(version) 
      .build(); 
} 
} 

而在我的application.yml文件中,我寫了:

springfox.documentation.swagger.v2.path: "/doc" 

你知道一種方法來定義我想要的端點嗎?

在此先感謝

回答

1

我找到了答案!

@Configuration 
@EnableWebMvc 
public class WebConfig extends WebMvcConfigurerAdapter { 


@Override 
public void addViewControllers(ViewControllerRegistry registry) { 

    registry.addRedirectViewController("/v1/subscriptions/doc", "/doc?group=subscriptions"); 


} 
}