Spring Boot - Swagger

网址:

API Documentation & Design Tools for Teams | Swagger

一、Swagger是什么?

Swagger 是最流行的 API 开发工具,它遵循 OpenAPI Specification(OpenAPI 规范,也简称 OAS)。 Swagger 可以贯穿于整个 API 生态,如 API 的设计、编写 API 文档、测试和部署。 Swagger 是一种通用的,和编程语言无关的 API 描述规范。

二、Swagger可以做什么?

使用 Swagger 开源和专业工具集简化用户、团队和企业的 API 开发。了解 Swagger 如何帮助您大规模设计和记录 API。

接口设计:设计是 API 开发的基础。Swagger 为开发人员、架构师和产品所有者提供了易于使用的工具,使 API 设计变得轻而易举。

接口开发:协议、错误处理和代码模块化只是您的团队在构建出色的 API 之前需要解决的一些问题。Swagger 提供了用于快速原型设计和构建 API 功能的工具。

接口文档:Swagger 通过一系列用于生成、可视化和维护 API 文档的解决方案,将手动工作从 API 文档中解放出来。

接口测试:Swagger工具和ReadyAPI平台使您可以轻松地在管道中快速创建,管理和执行API测试。

API 模拟和虚拟化:减少开发和测试周期中的依赖性,并通过 Swagger 和 ReadyAPI 虚拟化在几秒钟内完成逼真的动态模拟。

治理和标准化:人员和流程构成了一个成功的 API 计划。有效管理这些努力有助于实现善政。无论您拥有五百人还是五百人的团队,Swagger 都可以提供帮助。

接口监控:使用 AlertSite for OAS 监控 API 可用性、速度和功能,从您的 OpenAPI 规范 (OAS) 开始。自动创建监视器并即时跟踪 API 行为,以确保生产中一切顺利进行。

三、为什么要使用Swagger?

对于后端开发

  • 不用再手写WiKi接口拼大量的参数,避免手写错误
  • 对代码侵入性低,采用全注解的方式,开发简单
  • 方法参数名修改、增加、减少参数都可以直接生效,不用手动维护
  • 缺点:增加了开发成本,写接口还得再写一套参数配置

对于前端开发

  • 后端只需要定义好接口,会自动生成文档,接口功能、参数一目了然
  • 联调方便,如果出问题,直接测试接口,实时检查参数和返回值,就可以快速定位是前端还是后端的问题

对于测试人员

  • 对于某些没有前端界面UI的功能,可以用它来测试接口
  • 操作简单,不用了解具体代码就可以操作
  • 操作简单,不用了解具体代码就可以操作

四、如何使用Swagger?

Spirng Boot 集成 Swagger

1、新建springboot项目

Spring Boot 安装 (IntelliJ IDEA Community Edition)_AnyaPapa的博客-优快云博客

2、导入相关依赖

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

3、创建Swagger2配置类

Application.java同级创建Swagger2的配置类Swagger2

@Configuration
@EnableSwagger2
public class Swagger2 {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.didispace.web"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot中使用Swagger2构建RESTful APIs")
                .description("更多Spring Boot相关文章请关注:http://blog.didispace.com/")
                .termsOfServiceUrl("http://blog.didispace.com/")
                .contact("程序猿DD")
                .version("1.0")
                .build();
    }

}

如上代码所示,通过@Configuration注解,让Spring来加载该类配置。再通过@EnableSwagger2注解来启用Swagger2。再通过createRestApi函数创建Docket的Bean之后,apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中)。select()函数返回一个ApiSelectorBuilder实例用来控制哪些接口暴露给Swagger来展现,本例采用指定扫描的包路径来定义,Swagger会扫描该包下所有Co

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Thomas Kant

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值