Как скрыть конечные точки на основе профилей в 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();
}