В настоящее время я работаю над проектом, в котором использую весеннее функциональное веб-программирование. Я обычно использую аннотации swagger 2 в restController, но с функциональным веб-программированием я не могу найти где! Место, где приложение должно выполнить поиск конечных точек (например, базовый пакет в Docket) и загрузить swagger на странице html. Вот мой код:
@Configuration
public class RouterClient{
@Bean
public RouterFunction<ServerResponse> routes(ClientHandler client){
return route(GET("/api/client"), client::findAll)
.andRoute(POST("/api/client"),client::add);
}
}
Класс конфигурации:
@Configuration
public class OpenApiConfiguration{
@Bean
public GroupedOpenApi groupOpenApi() {
String paths[] = {"/api/**"};
String packagesToscan[] = {"com.demo.client"};
return GroupedOpenApi.builder().setGroup("groups").pathsToMatch(paths).packagesToScan(packagesToscan)
.build();
}
}
Зависимости:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-webflux-core</artifactId>
<version>1.2.32</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-webflux-ui</artifactId>
<version>1.2.32</version>
</dependency>
Результат: