Я интегрировал Swagger (OpenAPI) с Spring Webflux, как упоминалось здесь: https://springdoc.org/#spring-weblfuxwebmvcfn-with-functional-endpoints с использованием RouterOperation. Интеграция работает нормально и доступна по адресу /swagger-ui.html.
Однако для API POST я не вижу образец запроса, когда нажимаю кнопку «Попробовать». My 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 правильно отображает API GET и POST, но не образец схемы запроса.
Я также наткнулся на файл yaml / json, чтобы описать это. Но я не понимаю, где разместить этот файл в своем приложении, чтобы swagger-ui использовал его.