Как скрыть конечные точки на основе профилей в Spring Boot и 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 отдела. Как мы можем этого не делать?

1 ответ

Вы можете использовать группы: объявляйте каждый свой API в группах.

И добавьте аннотацию @Profile вместе с аннотацией @Bean для определения группы: это поможет вам отобразить спецификацию OpenAPI в зависимости от ваших весенних профилей.

@Bean
@Profile("!prod")
public GroupedOpenApi actuatorApi() {
    return GroupedOpenApi.builder().group("Actuator")
            .pathsToMatch("/actuator/**")
            .pathsToExclude("/actuator/health/*")
            .build();
}
Другие вопросы по тегам