@OpenAPIDefinition 放在哪里?

Where to put @OpenAPIDefinition?

使用 quarkus-smallrye-openapi 扩展定义一般 API 信息的文档非常稀疏,并且没有解释如何使用所有注释来设置 openApi 生成。

对于某些背景,我正在使用从 code.quarkus.io 生成的一个干净且基本上是空的项目(quarkus 版本1.0.1.FINAL),其中一个 class 定义如下(尝试@OpenAPIDefinition注解):

@OpenAPIDefinition(
    info = @Info(
        title = "Custom API title",
        version = "3.14"
    )
)
@Path("/hello")
public class ExampleResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        return "hello";
    }
}

我最终通过大量挖掘发现一般 api 信息(联系信息、版本等)是使用 @OpenAPIDefinition 注释定义的,但是当用于我现有的端点定义时,没有任何变化是根据生成的 openapi 规范制作的。我做错了什么?

尝试将注释放在 JAX-RS 应用程序上 class。我知道您在 Quarkus 应用程序中不需要其中之一,但我认为这也没有坏处。供TCK规范参考:

https://github.com/eclipse/microprofile-open-api/blob/master/tck/src/main/java/org/eclipse/microprofile/openapi/apps/airlines/JAXRSApp.java