在哪里放置@OpenAPIDefinition?

时间:2019-12-04 03:54:45

标签: annotations openapi quarkus

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

在某些背景下,我使用的是从1.0.1.FINAL生成的干净且基本上为空的项目(quarkus版本code.quarkus.io),并定义了一个类,如下所示(尝试了@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";
    }
}

我最终发现,使用@OpenAPIDefinition批注定义了通过大量挖掘获得的一般api信息(联系信息,版本等),但是当在我现有的端点定义上使用时,不会对生成的openapi进行任何更改规格。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

尝试将注释放在JAX-RS Application类上。我知道您在Quarkus应用程序中不需要其中之一,但是我认为这也不会有任何伤害。在规范TCK中供参考:

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