【每日鲜蘑】Quarkus很简单的嵌入了swagger🔥

3,327 阅读1分钟

Eclipse MicroProfile社区还是很不错的,为Java的微服务提供了很多很好的规范。而QuarkusMicroProfile规范中进行构建的,天然支持MicroProfile规范的组件。

  • REST Client: 客户端调用,类似于Feign
  • Metrics 监控服务,类似于Actuator
  • OpenAPI 接口服务,类似于Springfox Swagger
  • OpenTracing 链路追踪,类似于Spring Cloud Sleuth
  • Config 配置中心,类似于Spring Cloud Config

引入 Swagger

<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-smallrye-openapi</artifactId>
</dependency>

访问地址

http://127.0.0.1:8080/swagger-ui

常用的注解

  • @Operation: 描述针对某个特定路径的操作,或者通常是一个 HTTP 方法。(HTTP方法)
  • @APIResponse: 描述来自一个 API 操作的一次响应。(HTTP响应)
  • @RequestBody: 描述一个请求主体。(HTTP请求)
  • @Content: 提供一种特定媒体类型的模式和示例。
  • @Schema: 允许定义输入和输出数据类型。(Model)
  • @Server: 一个用于多个服务器定义的容器。
  • @ServerVariable: 表示一个用于服务器 URL 模板置换的服务器变量。
  • @OpenAPIDefinition: 一个 OpenAPI 定义的综合元数据

与Springfox注解的对应关系

  • @ApiParam -> @Parameter
  • @ApiOperation -> @Operation
  • @Api -> @Tag
  • @ApiImplicitParams -> @Parameters
  • @ApiImplicitParam -> @Parameter
  • @ApiIgnore -> @Parameter(hidden = true) or @Operation(hidden = true) or @Hidden
  • @ApiModel -> @Schema
  • @ApiModelProperty -> @Schema

总结

OpenAPI 使用 JAX-RS 2.0 应用程序生成一个有效的 OpenAPI 文档。它处理所有 JAX-RS 注解(包括 @Path@Consumes/@Produces 注解),以及用作 JAX-RS 操作的输入或输出的 POJO