在Swagger UI / Spring Boot中支持多个路径映射

我在Spring Boot" title="Spring Boot">Spring Boot(版本1.5.9.RELEASE)项目中使用了swagger

2.0。Swagger可以正常工作,但是现在文档有数百个api,我想重定向文档到不同的URL。

@Configuration

@EnableSwagger2

public class SwaggerConfig {

@Bean

public Docket postsApi() {

return new Docket(DocumentationType.SWAGGER_2).groupName("public-api")

.apiInfo(apiInfo()).select().paths(postPaths()).build();

}

private Predicate<String> postPaths() {

return or(regex("/api/posts.*"), or(regex("/api/.*"), regex("/secure/api/.*")));

}

private ApiInfo apiInfo() {

return new ApiInfoBuilder().title("Swagger API")

.description("Swagger Integration with Spring Boot")

.termsOfServiceUrl(null)

.license(null)

.licenseUrl(null).version("1.0").build();

}

}

请提出任何建议。提前致谢。

回答:

最后,我按照以下代码段的URL将这些api分为几类,为设置创建三个组,为产品创建另一个,最后一个包含除设置和产品之外的所有其他文档。

    @Bean

public Docket swaggerSettingsApi() {

return new Docket(DocumentationType.SWAGGER_2)

.groupName("Settings")

.select()

.apis(RequestHandlerSelectors.basePackage("com.xyz"))

.paths(regex("/secure/api/v1/settings/.*"))

.build()

.apiInfo(new ApiInfoBuilder().version("1.0").title("Settings API").build())

.globalOperationParameters(operationParameters());

}

@Bean

public Docket swaggerProductApi() {

return new Docket(DocumentationType.SWAGGER_2)

.groupName("Product")

.select()

.apis(RequestHandlerSelectors.basePackage("com.xyz.modules.v1"))

.paths(productPaths())

.build()

.apiInfo(new ApiInfoBuilder().version("1.0").title("Product API").build())

.globalOperationParameters(operationParameters());

}

@Bean

public Docket swaggerModuleApi() {

return new Docket(DocumentationType.SWAGGER_2)

.groupName("Others")

.select()

.apis(RequestHandlerSelectors.basePackage("com.xyz.modules.v1"))

.paths(postPaths())

.build()

.apiInfo(new ApiInfoBuilder().version("1.0").title("Other Modules API").build())

.globalOperationParameters(operationParameters());

}

private Predicate<String> postPaths() {

return or(regex("^(?=\\/secure\\/api\\/v1\\/)(?!.*(settings|products)).+\\/.*"));

}

以上是 在Swagger UI / Spring Boot中支持多个路径映射 的全部内容, 来源链接: utcz.com/qa/424497.html

回到顶部