Swagger在线API测试文档
Swagger API文档
前后端分离:
前端就负责展示数据,数据从哪来?后端提供的接口中得到
前端自己有一个叫伪造后端数据,json,这使得前端工程不需要后端仍可以跑起来
前后端的交互就是通过api
前后端相对独立,低耦合
前后端可以部署在不同的服务器上
好处:
之前有一个专门提供后端接口api的工具,postman(不推荐使用了)
- 可以通过Swagger给一些比较难理解的属性和接口增加注释信息
- 能在线实时测试后端提供的api,实时更新最新的api,降低集成的风险
- 后端提供接口,需要实时更新最新的
Swagger:
Swagger是一个优秀的工具
【注意点】在正式发布项目的时候,记得关闭Swagger!!出于安全考虑。而且而且节省运行的内存
- 号称世界上最流行的Api框架
- RestFul Api 在线文档自动生成工具 => Api文档与Api定义自动同步
- 可以直接运行,可以在检测时Api接口
- 支持多种语言:java、php。。。
- 去看官网
- Swagger是老版的Swagger2是新版的
在项目中使用swagger 需要 springfox
- swagger2
- ui
SpringBoot集成Swagger
需要用到jackson,进行json解析和序列化
导入maven依赖
<!-- 集成Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
编写一个工程
写配置
配置类:SwaggerConfig
@Configuration
@EnableSwagger2他会进行默认配置,我们就可以访问
swagger-ui.html配置文件:
package com.mao.config; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import java.util.ArrayList; @Configuration
@EnableSwagger2
public class SwaggerConfig { //配置文档信息
private ApiInfo apiInfo() {
Contact contact = new Contact("毛毛", "https://www.cnblogs.com/maomao777/", "1227537114@qq.com");
return new ApiInfo(
"毛毛的Swagger学习", // 标题
"学习演示如何配置Swagger", // 描述
"v1.0", // 版本
"组织链接", // 组织链接
contact, // 联系人信息
"Apach 2.0 许可", // 许可
"许可链接", // 许可连接
new ArrayList<>()// 扩展
);
}
@Bean //配置docket以配置Swagger具体参数
public Docket docket() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
}
}
一个Docket就是一个组group
想要实现在测试环境才可以访问swagger-ui界面,生产环境就不可以,
可以使用@Value注解,或者是通过判断当前环境的端口号。。。
常用注解
| Swagger注解 | 简单说明 |
|---|---|
| @Api(tags = "xxx模块说明") | 作用在模块类上 |
| @ApiOperation("xxx接口说明") | 作用在接口方法上 |
| @ApiModel("xxxPOJO说明") | 作用在模型类上:如VO、BO |
| @ApiModelProperty(value = "xxx属性说明",hidden = true) | 作用在类方法和属性上,hidden设置为true可以隐藏该属性 |
| @ApiParam("xxx参数说明") | 作用在参数、方法和字段上,类似@ApiModelProperty |
我们也可以给请求的接口配置一些注释
@ApiOperation("毛毛的接口")
@PostMapping("/mao")
@ResponseBody
public String mao(@ApiParam("这个名字会被返回")String username){
return username;
}
@Value的用法 !!!
在使用 @RequestMapping注解的时候,是Get就写@GetMapping注解,是Post就写@PostMapping注解
报错问题:
- 集成swagger报错
(2条消息) 解决 高版本SpringBoot整合Swagger 启动报错Failed to start bean ‘documentationPluginsBootstrapper‘ 问题_摸鱼佬的博客-CSDN博客 - ErrorsHide
Parser error on line 19end of the stream or a document separator is expected
报错:原因:使用了Shiro权限设置,还没有登陆进行授权,所以访问不了,需要先登录
Swagger在线API测试文档的更多相关文章
- golang学习笔记7 使用beego swagger 实现API自动化文档
golang学习笔记7 使用beego swagger 实现API自动化文档 API 自动化文档 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/doc ...
- 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档.
- spring boot使用swagger生成api接口文档
前言 在之前的文章中,使用mybatis-plus生成了对应的包,在此基础上,我们针对项目的api接口,添加swagger配置和注解,生成swagger接口文档 具体可以查看本站spring boot ...
- MVC-WebApi配置 Swagger(Web Api可视化文档)
一.从创建MVC WebApi开始 第一步创建MVC WebApi就创建好了,接下来就进入正题,上干货 ================================================ ...
- ASP.NET Web API 使用Swagger生成在线帮助测试文档
Swagger-UI简单而一目了然.它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具.项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,sw ...
- Swagger-UI 基于REST的API测试/文档类插件
现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景.例如我目前的工作,移动端交由了另一团队开发,不同开发小组之间就需要以规范和文档作为标准和协作基础 ...
- .NET Core使用swagger进行API接口文档管理
一.问题背景 随着技术的发展,现在的开发模式已经更多的转向了前后端分离的模式,在前后端开发的过程中,联系的方式也变成了API接口,但是目前项目中对于API的管理很多时候还是通过手工编写文档,每次的需求 ...
- SpringBoot18 Swagger、API接口文档生成、WireMock、模拟后台数据
1 Swagger 1.1 简述 前后端分离的项目需要前后端开发人员协同工作,后台开发人员需要给到前端开发者一套API文档:利用Swagger可以简单高效的帮助后台开发者生成RestfulAPI开发文 ...
- showdoc 开源在线api&&技术文档管理工具
showdoc 是一个很不错的api 以及技术文档管理工具 环境准备 doker-copose 文件 version: "3" services: doc: image: regi ...
- ASP.NET Web API 使用Swagger生成在线帮助测试文档,支持多个GET
以下为教程: 在现有webapi项目中,nuget安装以下两个插件 swagger.net.ui swashbuckle 安装完毕后可以卸载Swagger.NET,此处不需要! 安装完毕后屏蔽以下代码 ...
随机推荐
- gitee 删库跑路的正确打开方式
前言 又是一个周一, 阳光一点都不明媚... 码云 gitee.com 五群 (QQ群号: 515965326) 又发生了一起删库跑路事件(手动滑稽). 手动部分截图 看图说话 为了更好的复现完整的流 ...
- 通过TTS模型让猴哥给你讲个故事
"假"标题:通过TTS模型让猴哥给你讲个故事 "真"标题:使用Python调用硅基流动TTS模型并播放返回的音频数据过程记录 TTS介绍 TTS(Text-to ...
- springboot集成docker实现自动化构建镜像说明
springboot集成docker实现自动化构建镜像说明 文档说明 该文档仅包括通过配置springboot.docker.jenkins.git.appollo等实现持续构建,持续发布的功能,不包 ...
- DAY2--IMU测量单元&emmc内存
打智能车比赛天天碰到imu这个东西,今天给他弄清楚去 1.IMU介绍 惯性测量单元(Inertial measurement unit,简称 IMU),是测量物体三轴姿态角及加速度的装置.一般IMU包 ...
- DelayQueue的take方法底层原理
一.DelayQueue的take()方法底层原理 DelayQueue 的 take 方法是其核心方法之一,用于从队列中获取并移除延迟时间到期的元素.如果队列为空或没有延迟到期的元素,调用 take ...
- IDEA插件-Translation
简介 Translation是一个为IntelliJ IDEA和其他基于JetBrains的IDE(如 PyCharm.WebStorm 等)设计的插件.这个插件的主要功能是帮助开发者在编写代码或文档 ...
- 通用型产品发布解决方案(基于分布式微服务技术栈:SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plus+MySQL+Git+Maven+Linux+Docker+Nginx - 《01》
通用型产品发布解决方案(基于分布式微服务技术栈:SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plus+MySQL+ ...
- LLM Agent的构建:OpenAI官方指南解读
本文是对 OpenAI 近期发布的<A Practical Guide to Building Agents>的读后感与总结 Agent火爆的背景 大型语言模型(LLM)处理复杂.多步骤任 ...
- C#/.NET/.NET Core技术前沿周刊 | 第 36 期(2025年4.21-4.27)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- Mysql如何给字符串添加索引(前缀索引)
在日常开发中,我们经常给字符串添加索引,那么给字段添加索引有什么技巧吗,我们看看下面的例子,我们给一个邮箱添加索引,应该如何添加呢 看看下面这条sql select * from user where ...