项目配置Swagger2生成API接口文档
一、Swagger2介绍
前后端分离开发模式中,api文档是最好的沟通方式。
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
及时性 (接口变更后,能够及时准确地通知相关前后端开发人员)
规范性 (并且保证接口的规范性,如接口的地址,请求方式,参数及响应格式和错误信息)
一致性 (接口信息一致,不会出现因开发人员拿到的文档版本不一致,而出现分歧)
可测性 (直接在接口文档上进行测试,以方便理解业务)
二、配置Swagger2
1、创建common模块
在guli-parent下创建模块common
配置:
groupId:com.atguigu
artifactId:common
2、在common中引入相关依赖
<!--swagger--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><scope>provided </scope></dependency>
3、在common下面创建子模块service-base,然后在模块service-base中,创建swagger的配置类
创建包com.atguigu.servicebase.config,创建类SwaggerConfig
@Configuration
@EnableSwagger2
public class SwaggerConfig {@Beanpublic Docket webApiConfig(){return new Docket(DocumentationType.SWAGGER_2).groupName("webApi").apiInfo(webApiInfo()).select().paths(Predicates.not(PathSelectors.regex("/admin/.*"))).paths(Predicates.not(PathSelectors.regex("/error.*"))).build();}private ApiInfo webApiInfo(){return new ApiInfoBuilder().title("网站-课程中心API文档").description("本文档描述了课程中心微服务接口定义").version("1.0").contact(new Contact("guigu", "http://atguigu.com", "abc@qq.com")).build();}
}
4、在模块service模块中引入service-base
<dependency><groupId>com.atguigu</groupId><artifactId>service-base</artifactId><version>0.0.1-SNAPSHOT</version>
</dependency>
5、在service-edu启动类上添加注解,进行测试
6、API模型
可以添加一些自定义设置,例如:
定义样例数据
@ApiModelProperty(value = "创建时间", example = "2019-01-01 8:00:00")
@TableField(fill = FieldFill.INSERT)
private Date gmtCreate;@ApiModelProperty(value = "更新时间", example = "2019-01-01 8:00:00")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date gmtModified;
7、定义接口说明和参数说明
定义在类上:@Api
定义在方法上:@ApiOperation
定义在参数上:@ApiParam
@Api(description="讲师管理")
@RestController
@RequestMapping("/admin/edu/teacher")
public class TeacherAdminController {@Autowiredprivate TeacherService teacherService;@ApiOperation(value = "所有讲师列表")@GetMappingpublic List<Teacher> list(){return teacherService.list(null);}@ApiOperation(value = "根据ID删除讲师")@DeleteMapping("{id}")public boolean removeById(@ApiParam(name = "id", value = "讲师ID", required = true)@PathVariable String id){return teacherService.removeById(id);}
}
项目配置Swagger2生成API接口文档相关推荐
- SpringBoot集成Swagger2生成API接口文档
SpringBoot2.3.0集成Swagger2 引入Swagger2相应的依赖 入门示例 SpringBoot2集成Swagger2后启动报错 结语 背景:最近在工作中发现,已经多次发现后台开发人 ...
- python生成api文档_Django 自动生成api接口文档教程
最近在写测试平台,需要实现一个节点服务器的api,正好在用django,准备使用djangorestframework插件实现. 需求 实现一个接口,在调用时,通过传递的参数,直接运行对应项目的自动化 ...
- python api接口生成_Django 自动生成api接口文档教程
最近在写测试平台,需要实现一个节点服务器的api,正好在用django,准备使用djangorestframework插件实现. 需求 实现一个接口,在调用时,通过传递的参数,直接运行对应项目的自动化 ...
- Laravel使用Apidoc注解自动生成Api接口文档
本教程从零开始搭建laravel项目,并安装Apidoc扩展及使用注解生成Api接口文档的教程,该扩展支持 多应用/版本.Markdown文档.在线接口调试.接口生成器.代码模板生成器.Mock调试数 ...
- 如何自动生成 API 接口文档 - 一份详细指南
本篇文章详细教你如何使用 Apifox 的 IDEA 插件实现自动生成接口代码.好处简单总结有以下几点: 自动生成接口文档: 不用手写,一键点击就可以自动生成文档,当有更新时,点击一下就可以自动同步接 ...
- 开发日记-20190328 关键词 利用eolinker一键快速生成API接口文档
今天感觉效率真的很低= =各个层面的,apk发布到现场发现出现了问题,所以一个下午都在忙着解决现场出现的问题,领导一直打电话询问进度,午觉也没有睡所以今天预计的很多计划都处于停滞状态,像昨天规划的今天 ...
- apidoc 自动化生成 api接口文档
手写api接口太麻烦. 学习了apidoc自动生成接口文档,这边做一下整理 要用组件那就必须先安装 apidoc,做一下全局安装 npm install apidoc -g 新建配置文件apidoc. ...
- Laravel使用swagger PHP生成api接口文档
Laravel使用swagger PHP生成api接口文档 Swagger集接口文档和测试于一体,就类比将postman和showdoc的结合体 首先要先安装基于laravel5的swagger包 地 ...
- Swagger2生成在线接口文档并导出pdf文件
文章目录 一,配置 1,pom依赖 2,通用配置 二,注解 三,主题 1,默认主题效果 2,添加依赖 3,添加配置 4,启动看效果 四,token验证 方法1,所有接口上添加 方法2,全局统一添加 五 ...
最新文章
- Linux多线程编程----IO【select、poll、epoll】
- asp.net 开发疑问?
- Union all的用法实例sql
- 1号店11.11:从应用架构落地点谈高可用高并发高性能
- iPhone 13的新对手?小米历史上最好看的手机即将发布
- 4 大妙招,教你快速搞定复杂的系统编程!
- 楼板计算塑形弹性_阶梯教室板模板支架工程方案计算书(仅供参考)
- Atitit 翻页功能的解决方案与版本历史 v4 r49
- 新颖的自我介绍_有创意的自我介绍10篇
- 在Linux系统中安装JDK
- 郑州财经学院第54次全国计算机,郑州财经学院第二期教师博士班开班
- 6.5 特殊用途语言特性
- Project build error: Non-resolvable parent POM
- java153-字符输出流
- Oracle数据库之coalesce函数的用法
- Hbase(二)hbase建表
- 整理的selenium WebDriver提供的8种元素定位方法
- 引用和指针的区别都有什么_为什么要有指针和引用类型?
- java我的世界mod制作_我的世界:MOD的编写有多复杂,估计你也学不会
- 易语言学习笔记——入门篇