我已经将 Swagger (OpenAPI) 与 Spring Webflux 集成在一起,如下所述:https : //springdoc.org/#spring-weblfuxwebmvcfn-with-functional-endpoints using RouterOperation。集成工作正常,可在 /swagger-ui.html 访问
但是,对于 POST API,当我单击“试用”按钮时,我没有看到“请求”示例。我的 Post API 接受 Json 作为请求正文。
我该如何配置?这可以通过注释以及 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 使用它。