我正在使用Quarkus来构建项目,所以我决定使用Reactive Routes。
我想将OpenAPI信息和Swagger UI添加到我的项目中。似乎可以使用RestEasy来实现,但是我没有找到有关反应式路由的信息。
有可能吗?我尝试启用它,但无法。
答案 0 :(得分:1)
这是不可能的。
RESTeasy方法依靠反射和注释的组合来确定REST接口是什么。 使用Vert.x Web路由时,您具有更大的灵活性,即该信息级别无法以标准方式获得。
有两种选择:
如果需要生成OpenApi文档,我个人使用RESTeasy。
答案 1 :(得分:1)
现在可用,请在这里https://quarkus.io/blog/openapi-for-everyone/#vert-x-reactive-routes中查看更多详细信息
示例:
use Symfony\Component\Process\Process;
(new Process(['npm', 'run', 'production'], base_path()))
->setTimeout(null)
->run(function ($type, $output) {
$this->output->write($output);
});
将生成:
@ApplicationScoped
@RouteBase(path = "/vertx", produces = "application/json")
@Tag(name = "Vert.x Resource", description = "Basic Hello World using Vert.x")
public class VertxGreeting {
@Route(path = "/hello", methods = HttpMethod.GET)
public Greeting helloVertX() {
return new Greeting("Hello", "Vert.x");
}
@Route(path = "/hello", methods = HttpMethod.POST)
public Greeting newHelloVertX(@Body Greeting greeting) {
return greeting;
}
@Route(path = "/hello/:message", methods = HttpMethod.DELETE)
public void deleteHelloVertX(@Param("message") String message) {
// Here do the delete...
}
}
您需要在pom中包含openapi扩展。