SpringBoot中的Swagger2如何使用?

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

背景

在之前我们已经在SpringBoot项目中集成好了Swagger2组件,同时已经可以成功访问了相关的swagger-ui.html,那么现在我们就来看一下Swagger的相关注解如何使用吧。

Swagger2的一些注解应用

先看一下官方的一些解释。

image.png

如果有兴趣,可以自行查看这里

接下来我们来看一下具体的翻译信息:

注解名称 功能描述
@Api 将类标记为 Swagger 资源。
@ApiImplicitParam 表示 API 操作中的单个参数。
@ApiImplicitParams 允许多个 ApiImplicitParam 对象列表的包装器。
@ApiModel 提供有关 Swagger 模型的其他信息。
@ApiModelProperty 添加和操作模型属性的数据。
@ApiOperation 描述针对特定路径的操作或通常的 HTTP 方法。
@ApiParam 为操作参数添加额外的元数据。
@ApiResponse 描述操作的可能响应。
@ApiResponses 允许多个 ApiResponse 对象列表的包装器。
@Authorization 声明用于资源或操作的授权方案。
@AuthorizationScope 描述 OAuth2 授权范围。
@ResponseHeader 表示可以作为响应的一部分提供的标头。

通过这些,我们就可以对具体的类进行修饰。

下面我们来看一下一个Demo。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
less复制代码@Api(tags = "Demo演示接口")
@Slf4j
@RestController("demo")
public class DemoController {

@ApiOperation(value = "@Demo演示接口1", notes = "@Demo演示接口1")
@GetMapping("/list/{name}")
@ResponseBody
public String test(@PathVariable String name) {
log.info(name);
System.out.println("test");
return name;
}

@ApiOperation(value = "Demo演示接口2", notes = "Demo演示接口2")
@GetMapping("/test")
@ResponseBody
public String test1() {
log.info("test");
return "test1";
}

}

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%