SpringBoot中的Swagger2如何使用?

375 阅读1分钟

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

背景

在之前我们已经在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。

@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";
    }

}