Как сделать Spring Boot Reactive конечные точки видимыми для SpringDo c OpenApi - PullRequest
0 голосов
/ 18 марта 2020

Я работаю над новым приложением реактивного сервера Spring Boot. Приложение предоставляет реактивные конечные точки, как показано ниже:

@Configuration
public class XXXXRouter {

    @Bean
    public RouterFunction<ServerResponse> routes(ClaimsHandler handler) {
        return nest(path("/api/xxxx"), nestedRoutes(handler));
    }

    private static RouterFunction<ServerResponse> nestedRoutes(xxxxHandler handler) {
        return route(GET("/"), handler::allClaims)
            .andRoute(GET("/{id}"), handler::byId)
            .andRoute(GET("/{id}/notes"), handler::notesById);
    }

}

Мне нужно, чтобы эти конечные точки были похожи на swagger-ui. Я использую следующие зависимости для генерации требуемого swagger-ui и api-docs:

implementation 'org.springdoc:springdoc-openapi-webflux-core:1.2.32'
implementation 'org.springdoc:springdoc-openapi-webflux-ui:1.2.32'

У меня также есть следующая конфигурация API:

@Configuration
public class OpenAPIConfig {

    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI().components(new Components()).info(new Info().title("Contact Application API")
                .description("This is a sample Spring Boot RESTful service using springdoc-openapi and OpenAPI 3."));
    }

}

localhost: 8080 / swagger-ui. html показывает страницу Swagger-UI. Но конечные точки там не отображаются.

Вот вывод localhost: 8080 / v3 / api-docs:

{"openapi":"3.0.1","info":{"title":"Contact Application API","description":"This is a sample Spring Boot RESTful service using springdoc-openapi and OpenAPI 3."},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"paths":{},"components":{}}

Мой вопрос заключается в том, как сделать реактивные конечные точки доступными для чванство-щ. html

...