说明文档
可以访问: https://truedei.github.io/#/zh-cn/truedei-swagger-plugin/
查看更详细的说明。
可以通过下面这个依赖引入,使用:
<dependency>
<groupId>com.truedei.swagger.plugin</groupId>
<artifactId>truedei-swagger-plugin</artifactId>
<version>0.0.2-SNAPSHOT</version>
</dependency>
一、项目介绍
此项目是对springfox-swagger2的一个功能上的扩展
pom.xml文件中,此处为什么要这样做:
<!-- 引入swgger相关依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
原因:
因为在springfox-swagger2版本为2.9.2的依赖中,是依赖swagger-models版本为1.5.20的依赖的。 但是1.5.20的依赖是存在bug的,当访问swagger的时候,会出现:
DefaultValue for parameter type integer
类似的BUG
如下面博客中所提及到的:
https://blog.csdn.net/boyin333/article/details/87980108
《swagger2 Illegal DefaultValue for parameter type integer》 看了网上不少的解决方法
1、@ApiModelProperty(value = "主键", example = "123") ,太麻烦而且还是报错
2、修改jar源码,对于新手来说难度系数太大
经过一番思考,采用如下方案:使用pom的 exclusions方式
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
排除swagger2本身引用的swagger-models-1.5.20.jar【这版本有bug】,引入更高的版本即可解决问题。
二、需要注意的事项
关于表格,一定要可以在某些工具中可以解析出来。
否则就会报异常:
三、功能列表
如何添加任务:
- 1、 任务一
- + 空格 + [ ]
- 2、 任务二
- + 空格 + [x]
(一)短期任务
短期任务:此处记录的功能不包括swagger已有的功能,只记录对其扩展的一些功能。
- 1、 支持使用注解动态生成实体类(@Apicp & @ApiIgp);
- 2、 支持从文件中读取一些接口描述信息(@APiFileInfo);
- 3、 支持api分组(@ApiVersion);
- 4、 支持开启此扩展项目的开关的功能(@EnableSwaggerPlugin);
- 5、 @Apicp和ApiIgp支持参数示例;
- 6、 @Apicp和ApiIgp支持参数是否必填选项;
- 7、 支持配置从配置好的任意package路径读取md文件;
- 9、 配置相应的log日志输出功能;
- 10、 支持参数排序;(存在问题,暂时无法解决)
(二)长期任务
长期任务:持续要做的
1、做到0使用swagger-bootstrap UI框架的代码,因为
- 1、 支持Layui自定义UI;
- 2、 减少使用swagger-bootstrap UI的依赖程度,做到0使用
- 3、 支持排序,逐渐的从swagger-bootstrap UI 脱离 增强功能,实现自己的排序功能
自定义UI计划:
- 支持动态生成左侧导航菜单
- api为post请求时,body传入str,支持请求示例的展示
(三)其它核心模块
团队研发自己的核心模块,来支撑整个框架的流程!
-
1、makdown解析模块;(团队成员正在同步开发,待公布)
-
2、接口在线测试模块;(团队成员正在同步开发,待公布)
更新日志记录
1、2021年1月15日更新记录
时间:2021年1月15日15:28:
更新内容:
(1)、@Apicp和ApiIgp支持参数示例;
(2)、@Apicp和ApiIgp支持参数是否必填选项;
(3)、 支持配置从配置好的任意package路径读取md文件;
2、2021年1月18日更新记录
时间:2021年1月18日17:49:19
更新内容:
(1)、修改动态配置扫描路径的方式;
(2)、新增log动态开启的功能,开启后可在控制台清晰的看到执行的流程;