锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / Java开源 / Swagger、Swagger配置、Swagger好处
技术方向
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

锐英源精品原创,禁止全文或局部转载,禁止任何形式的非法使用,侵权必究

 

Swagger


使用背景

谈到API文档管理工具,不得不提到前后端分离,前后端分离之后,两者开发人员如何交互呢,就是需要用到我们后端提供的API文档工具。有了文档,就有了交流的基础。

前后端分离之后相互独立,耦合度降低,前后端甚至可以部署在不同的服务器上,但这也产生了一个问题,就是前后端集成联调的时候,前端人员和后端人员无法做到“及时协商、尽早解决”,最终导致问题集中爆发。如果使用了Swagger,就会让代码内的更新及时让开发人员掌握,不会爆发问题,这就是Swagger的好处。

特点

Swagger能够很好的解决上面我们讨论的问题,它号称最流行的API框架、RestFul Api文档在线自动生成以及Api文档与Api定义同步更新,并且能够直接运行,可以在线测试API接口,并且支持多种语言。

SpringBoot集成Swagger

首先需要创建一个SpringBoot项目

导入相关依赖

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>

编写一个控制器及我们的API接口 ,配置Swagger

@Configuration
@EnableSwagger2
public class SwaggerConfig{}

接着就可以测试运行,访问:http://localhost:8080/swagger-ui.html,效果如下所示

swagger效果

Swagger配置

这里推出锐英源的Swagger使用经验,欢迎同行交流。

如果大家直接按照上面的使用流程,就是使用的swagger默认配置,当然我们也可以根据自己喜好进行个性化配置,如下是列出的一些常用配置

public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
// RequestHandlerSelectors,配置要扫描接口的方式
// basePackage,指定要扫描的包
// any():扫描全部 none:不扫描
// withClassAnnotation:扫描类上的注解
.apis(RequestHandlerSelectors.basePackage("io.renren.controller"))
.paths(PathSelectors.any())
.build()
}

private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("人人开源")
.description("renren-fast文档")
.termsOfServiceUrl("https://www.renren.io")
.version("3.0.0")
.build();
}

其中的ApiInfo可以说主要是一些信息配置,比如标题、描述、服务条款网址等信息,上面的界面就是配置过的,因此大家可以看到配置的这些信息显示在页面上。接着比较重要的配置就是配置我们扫描接口的配置,常用的配置我都写在注释上了,我采用的是扫描包的配置方法,该配置包下的接口都能更显示出来。  

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内