如何根据 Spring 引导和 Spring 文档中的配置文件隐藏端点?

How to hide endpoints based on Profiles in Spring Boot and Spring doc?

我正在研究 Spring Boot v2.2.2.RELEASE and SpringDoc UI and Open API Specification OAS3,我在这里发现了非常相关的问题:https://github.com/springdoc/springdoc-openapi/issues/201

我有 4 个个人资料,分别是 Dev、Stage、UAT 和 Prod,还有 Student API、Employee API 和 Department API。

我想要 UAT 和 Prod 配置文件,我想隐藏部门 API。怎么能不呢?

您可以使用组:在组中声明每个 API。

并且,为组定义添加 @Profile 注释和 @Bean 注释:这将帮助您根据您的 spring 配置文件显示 OpenAPI 规范

@Bean
@Profile("!prod")
public GroupedOpenApi actuatorApi() {
    return GroupedOpenApi.builder().group("Actuator")
            .pathsToMatch("/actuator/**")
            .pathsToExclude("/actuator/health/*")
            .build();
}