我在互联网上搜索了如何自定义多个网站的端点,但还没有找到答案。
我的模块有几个API。我想在不同的端点上生成Swagger文档,每个端点都位于其相应API的根目录下。例如:
本地主机:8080 / V1 /订阅/文件
本地主机:8080 / V1 /桶/文件
我发现只有一种方法可以为我的数据库设置不同的端点,但是URL与我想要的不一致。他们是:
本地主机:8080 / doc的基团=订阅
本地主机:8080 / doc的基团=桶
这是我的Swagger配置文件
@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"
您是否知道按照我想要的方式定义端点的方法?
提前致谢
答案 0 :(得分:3)
我找到了答案!
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addRedirectViewController("/v1/subscriptions/doc", "/doc?group=subscriptions");
}
}