【发布时间】:2020-07-21 08:15:08
【问题描述】:
我已经将 Swagger (OpenAPI) 与 Spring Webflux 集成在一起,如下所述:https://springdoc.org/#spring-weblfuxwebmvcfn-with-functional-endpoints using RouterOperation。集成工作正常,可在 /swagger-ui.html
访问但是,对于 POST API,当我单击“试用”按钮时,我没有看到“请求”示例。我的 Post API 接受 Json 作为请求正文。
我该如何配置?可以通过 Annotations 以及 RouterOperation 或其他方式来完成吗?
编辑:下面是我的路由器类代码:
@Configuration
public class MyRouter {
@RouterOperations({
@RouterOperation(path = "/data", beanClass = MyHandler.class, beanMethod = "getData"),
@RouterOperation(path = "/allData", beanClass = MyHandler.class, beanMethod = "getAllData") })
@Bean
public RouterFunction<ServerResponse> route(MyHandler MyHandler) {
return RouterFunctions
.route(RequestPredicates.POST("/data").and(RequestPredicates.accept(MediaType.APPLICATION_JSON)), MyHandler::getData)
.andRoute(RequestPredicates.GET("/allData").and(RequestPredicates.accept(MediaType.APPLICATION_JSON)), MyHandler::getAllData);
}
}
添加 RouterOperations 注释后,我可以看到 swagger-ui 正确显示了 GET 和 POST API,但没有显示请求架构示例。
我还遇到了 yaml / json 文件来描述这一点。但是我没有找到在我的应用程序中放置这个文件的位置,以便 swagger-ui 使用它。
【问题讨论】:
-
你能分享一些代码吗?我们无法确定是否缺少任何东西
-
@AbhinabaChakraborty 添加了有问题的代码
标签: java swagger-ui spring-webflux openapi springdoc-openapi-ui