Tin*_*yOS 6 spring-boot openapi spring-webflux
我目前正在开发一个使用 Spring 函数式 Web 编程的项目。我通常在restController中使用swagger 2的注释,但是对于功能性Web编程我找不到在哪里!告诉应用程序搜索端点(如 Docket 中的 basepackage)并在 html 页面中加载 swagger 的位置。这是我的代码:
@Configuration
public class RouterClient{
@Bean
public RouterFunction<ServerResponse> routes(ClientHandler client){
return route(GET("/api/client"), client::findAll)
.andRoute(POST("/api/client"),client::add);
}
}
Run Code Online (Sandbox Code Playgroud)
配置类:
@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();
}
}
Run Code Online (Sandbox Code Playgroud)
依赖项:
<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>
Run Code Online (Sandbox Code Playgroud)
结果 :
自 1.3.8(5 月初)起支持功能端点。请参阅GitHub上的版本。
看看这个: https: //springdoc.org/#spring-webfluxwebmvc-fn-with-function-endpoints
在 Swagger UI 上查看端点的最简单方法是将@RouterOperation注释添加到您的RouterFunction方法(包含单个路由)中,并指定其中使用的beanClass和。beanMethod但是,在您的情况下,单个方法上有多个路由,因此您还必须使用注释@RouterOperations。这些案例在上面的链接中有详细记录。
看来 springdoc-openapi 的当前实现只允许手动添加文档。
| 归档时间: |
|
| 查看次数: |
8553 次 |
| 最近记录: |