2017-05-31 78 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"); 


} 
}