前后端分离时代--swagger接口文档的配置与使用

dasdfdfecvcx dasdfdfecvcx     2022-12-10     614

关键词:

在前后端分离的时代,前端开发人员和后端开发人员的沟通显得尤为重要。如果不能做到及时有效的沟通,可能导致后端开发出来的接口,前端人员无法使用,从而导致后端开发人员不得不返工,甚至延长开发周期。
在了解swagger之前我写好接口都是写一个txt文件,把接口地址,以及传参,返回数据都写好后再给前端人员。这样做是可以做到有效的沟,但还是显得有点麻烦,直到我了解了swagger。
知道swagger的人想必一定知道swagger能够干什么吧,不知道的自行百度。
下面我们就开始准备着手搭建swagger环境。
1、新建一个springBoot项目

项目建成之后写一个controller,保证项目能够正常启动并成功访问。

2、swagger依赖

<!--集成swagger-->
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>swagger-spring-boot-starter</artifactId>
<version>1.9.0.RELEASE</version>
</dependency>
1
2
3
4
5
6
我用的是speingBoot集成的swagger插件,当然你们也可以去maven找纯净的swagger依赖,但是注意别忘了导入swagger-UI的依赖。

3、依赖导入后我们需要启用swagger。
如果你想尽快使用swagger,不想过多了解swagger的配置属性,你可以直接在springBoot的启动类上加入@EnableSwagger2Doc注解,这样你启动项目后就可以通过http://localhost:8080/swagger-ui.html访问到swagger界面啦。

@SpringBootApplication
@EnableSwagger2Doc
public class SwaggerDemoApplication

public static void main(String[] args)
SpringApplication.run(SwaggerDemoApplication.class, args);

1
2
3
4
5
6
7
8
9
10

但是当你想通过swagger配置来展示更多定制化显示的时候,你有两种途径可以选择。
一种是直接通过配置文件来设置swagger属性(这一步还是需要在启动类中加入@EnableSwagger2Doc注解)

swagger:
#启动swagger
enabled: true
#界面title显示
title: Swagger接口文档插件
#界面描述
description: 这是X项目的接口文档
#要扫描的包
base-package: com.nxw
#版本信息
version: v1.0
#开发者信息
contact:
name: nxw
email: nxwtsp@163.com
url: http://www.baidu.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
配置完之后请看页面

可以很明显的看出配置后和配置前的区别,配置后显示了更多关于文档的属性。最重要的一点是配置扫描包之后,之前会出现的basic-error-controller和Models接口描述不显示了。所以通过配置我们可以随意的控制扫描想让前端看到的接口,甚至还可以分不同的组,不同的开发人员看到的也不一样。

第二种是通过写配置类来实现和配置文件一样的效果(这种方法就不需要在启动类里加入@EnableSwagger2Doc注解了)。
需要在配置类里加入@EnableSwagger2注解。
话不多说,上代码

@Configuration
@EnableSwagger2
public class SwaggerConfig
@Bean
public Docket adminConfig()
//new一个Docket,不知道这是干啥的可以看源码
Docket docket = new Docket(DocumentationType.SWAGGER_2);
//启动swagger
docket.enable(true);
//组名
docket.groupName("admin");
//开发人员信息
docket.apiInfo(adminConcat());
docket.select()
//设置扫描包
.apis(RequestHandlerSelectors.basePackage("com.nxw.controller"))
.build();
return docket;

@Bean
public ApiInfo adminConcat()
return new ApiInfoBuilder()
.description("这是swagger描述")
.version("V1.0")
.title("Swagger配置测试--这是title")
.contact(new Contact("admin","http://www.baidu.com","nxwtsp@163.com"))
.build();


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
配置好后上图

大家可以看到图中画红框的部分有两个组,选择相应的组可以看到不同的接口信息,那么这个功能是如何实现的呢?
其实啊,这些功能swagger早就帮我们想到了,我们只需要多new几个Doctket就行了,看代码

@Configuration
@EnableSwagger2
public class SwaggerConfig
@Bean
public Docket adminConfig()
Docket docket = new Docket(DocumentationType.SWAGGER_2);
docket.enable(true);
docket.groupName("admin");
docket.apiInfo(adminConcat());
docket.select()
.apis(RequestHandlerSelectors.basePackage("com.nxw.controller"))
.build();
return docket;

@Bean
public ApiInfo adminConcat()
return new ApiInfoBuilder()
.description("这是swagger描述")
.version("V1.0")
.title("Swagger配置测试--这是title")
.contact(new Contact("admin","http://www.baidu.com","nxwtsp@163.com"))
.build();

@Bean
public Docket web1Config()
Docket docket = new Docket(DocumentationType.SWAGGER_2);
docket.enable(true);
docket.groupName("web1");
docket.apiInfo(web1Concat());
docket.select()
.apis(RequestHandlerSelectors.basePackage("com.nxw.web1Controller"))
.build();
return docket;

@Bean
public ApiInfo web1Concat()
return new ApiInfoBuilder()
.description("这是swagger描述")
.version("V1.0")
.title("Swagger配置测试--这是title")
.contact(new Contact("web1","http://www.baidu.com","nxwtsp@163.com"))
.build();


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
以上就是swagger的基本配置,完成以上配置后还需多加了解swagger的注解用起来才能得心应手。
————————————————
原文链接:https://blog.csdn.net/nxw_tsp/article/details/106037943

https://shenyang.jinti.com/yiyuan/preview59558408.htm

.netcorewebapi——swagger简单配置(代码片段)

...的大环境下,API接口文档成为了前后端交流的一个重点。Swagger让开发人员摆脱了写接口文档的痛苦。官方网址:https://swagger.io/在.NetCoreWebApi中通过简单配置即可使用这一强大的功能。 1.新建一个API的项目选择API项目 2.引... 查看详情

springboot-自动生成接口文档

...档,在SpringBoot中,最常使用的接口文档自动生成库就是Swagger。本篇博文主要介绍在SpringBoot中集成Swagger3的方法。更多详细信息,请参考官网:Specification简单来说,OpenAPI就是定义描述RESTAPI的规范,而Swagger就是对OpenAPI规范的实... 查看详情

swagger笔记(代码片段)

...a;了解Swgger的作用和概念了解前后端分离在SpringBoot中集成SwaggerSwagger简介前后端分离Vue+SpringBoot后端时代:前端只用管理静态页面;html==>端。模板引擎JSP==>后端是主力前后端分离时代:后端:后... 查看详情

springboot整合swagger3如何生成接口文档?

...,接口文档的存在十分重要。与手动编写接口文档不同,swagger是一个自动生成接口文档的工具,在需求不断变更的环境下,手动编写文档的效率实在太低。与新版的swagger3相比swagger2配置更少,使用更加方便。一、pom文件中引入S... 查看详情

springboot集成swagger2在线文档

目录SpringBoot集成Swagger2在线文档前言集成SpringBoot登录接口文档示例代码效果注解说明总结SpringBoot集成Swagger2在线文档前言不得不说,前后端分离开发的工作方式给我们带来诸多好处,让前后端攻城狮们顺畅了不少后端给前端提... 查看详情

[转]前后端分离开发模式的mock平台预研

.../接口,用一个虚拟的对象/接口来模拟,以便测试。背景前后端分离前后端仅仅通过异步接口(AJAX/JSONP)来编程前后端都各自有自己的开发流程,构建工具,测试集合关注点分离,前后端变得相对独立并松耦合开发流程后台编写和... 查看详情

springboot之整合swagger2

...档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架,而且swagger可以完全模拟http请求,入参出参和实际情况差别几乎为零。没有API文档工具之前,大家都是手写API文档的(维护起... 查看详情

多model项目中,使用swagger

...在实习接触第一个公司项目时,就已经见识过了项目中的Swagger注解。但对其并不了解,甚至是干什么的都不知道,今天对其学习了一下,在此简单记录一下Swagger在多Model项目中是如何整合使用的。前后端分离开发模式中,api文... 查看详情

转:swagger2自动生成接口文档和mock模拟数据

...上两个问题呢?答案是肯定的,那就是将要登场的“Swagger”和“EasyMock”。1.1Swagger介绍Swagger是全球最流行的接口文档自动生成和测试的框架,几乎支持所有的开发语言。Swagger官网地址:https://swagger.io/1.2EasyMock介绍Ea... 查看详情

swagger文档后端接口文档生成工具的使用(代码片段)

5.2Swagger(自动生成服务器接口的规范性文档)前后端分离规开发,后端需要编写接口说明文档,会耗费比较多的时间swagger是一个用于生成服务器接口的的规范性文档,并且能够对接口进行测试的工具。swagger作用生成接... 查看详情

springboot整合swaggerui(restful接口的文档在线自动生成+功能测试功能软件,前后端分离快速开发)

 swaggerui可以通过来拦截controller层,生成请求API,并将其展示在浏览器当中。我们可以直接通过浏览器来查看和调试接口。  1添加maven依赖<!--Swagger--><dependency><groupId>io.springfox</groupId><artifactId>sprin 查看详情

swagger2是属于插件吗

参考技术A不属于。Swagger是一款RESTFUL接口的文档在线自动生成,功能测试功能组件,随着现在许多公司实现了前后端分离,swagger越来越受欢迎了。SwaggerU呈现出来的是一份可交互式的API文档,我们可以直接在文档页面尝试API的调... 查看详情

springboot集成swagger2

1 引言什么是Swagger:Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案。Swagger的作... 查看详情

webapi文档描述-swagger

最近做的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员。这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员,最初打算使用word文档方式进行交流,实际操作中却很少动手去... 查看详情

api接口文档利器:swagger(代码片段)

文章目录API接口文档利器:SwaggerSwagger介绍Swagger常用注解Swagger测试Swagger生成API文档的工作原理:API接口文档利器:SwaggerSwagger介绍Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服... 查看详情

前后端的分离

...板,前端完全可以根据数据自行渲染页面/模板,这样,前后台交互就可以简化为数据的增删改查。利用AJAX技术,实现页面局部刷新,促使了前后台分离的可能性。那么,如何利用前后端分离开发模式,开始一个项目呢?1.产品文... 查看详情

springboot整合swagger。完爆前后端调试(代码片段)

...了解。这时候就会造成调试一次接口就需要看一次代码。Swagger帮我们解决对接的麻烦springboot接入swaggerspringboot引入swagger只需要引入jar包,然后配置swagger启动。并配合swagger的注解使用就可以实现文档自动生成了。我们先来看... 查看详情

swagger3.0快速入门(代码片段)

Swagger快速入门一。Swagger简介1.前后端分离2.Swagger引入springfox-swagger2SpringFox3.0.0发布swagger3.0与2.xx配置差异:具体使用教程如下1.导入依赖2.application.yml配置3.配置SwaggerAPI信息4.修改默认API文档显示页面配置Swagger自定义扫描接口... 查看详情