Swagger @Api 注解详解

本文将详细介绍 Swagger 的 @Api 注解,以及演示怎样使用 @Api 注解。

@Api 注解用来对类进行说明,说明该类或controller的作用。它主要有如下属性:

  • value:隐式设置操作的标签,遗留支持。在 swagger-core 1.3.X,它被用作“path”,用于承载资源的API声明。如果未使用 tags(),则此值将用于为该资源描述的操作设置标记。否则,该值将被忽略。实例:

@Api(value = "测试接口 value")
@Controller
@RequestMapping("/api1")
public class Api1Controller {
    //...
}

效果图如下:

Swagger @Api 注解详解

value 没有任何效果,推荐使用 tags。

  • tags:API文档控制的标签列表。标记可用于按资源或任何其他限定符对操作进行逻辑分组,非空值将覆盖 value() 中提供的值。例如:

@Api(tags = "测试接口")
@Controller
@RequestMapping("/demo")
public class DemoController {
    //...
}

效果图如下:

Swagger @Api 注解详解

注意:如果在多个 Controller 类上面的 @Api 注解指定了相同的 tags,则将对这些相同 tags 的类分组。效果图如下:

Swagger @Api 注解详解

上图中,将 api1、api2、api3 三个 Controller 的 @Api 注解使用相同的 tags “测试接口 tags”。

  • description:(已废弃) 在1.5中不使用,保留为遗留支持。

  • basePath:(已废弃) 在1.5中不使用,保留为遗留支持。

  • position:(已废弃) 在1.5中不使用,保留为遗留支持。

  • produces:用于设置服务器支持的媒体类型(media types)。对应于此资源下操作的“produces”字段。接受以逗号分隔的内容类型值。例如:“application/json,application/xml”将建议生成 json 和 xml 输出的操作。对于 JAX-RS 资源,如果存在 @Produces 注释,它将自动获取该注释的值。它还可以用于覆盖 Swagger 文档的 @Produces 值。实例:

@Api(tags = "测试接口", produces = "application/json,application/xml")
@Controller
@RequestMapping("/demo")
public class DemoController {
    //...
}
  • consumes:对应于此资源下操作的“consume”字段。接受以逗号分隔的内容类型值。例如:“application/json, application/xml”将建议操作接受 json 和 xml 输入。对于 JAX-RS 资源,如果存在 @Consumes 注释,那么将自动获取该注释的值。它还可以用于覆盖 Swagger 文档的 @Consumes 值。

  • protocols:为该资源下的操作设置特定的协议 (方案)。协议之间使用逗号进行分隔值,可选的值:http,https,ws,wss。

  • authorizations:对应于Operation Object的“security”字段,获取此资源下操作的授权(安全需求)列表,这可能会被特定的操作覆盖。

  • hidden:隐藏该资源下的操作。如果API应该隐藏在swagger文档中,则为True。

一个不注意小事情的人,永远不会成功大事业。——戴尔·卡耐基
3 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号