theme: mk-cute
这是我参与更文挑战的第11天,活动详情查看: 更文挑战
Ydoc1.0.5支持swagger页面和邮件和web报告
在1.0.3的时候只有在开启了swagger-native时才能显示swagger页面,在1.0.5,我们可以使用YDoc方式的注解来生成swagger文档的内容了。
如何生成?
源码已经开源到github欢迎一起贡献源码,喜欢点个Star支持下
依赖一下(依赖不到去github下载源码,install到自己本地仓库,上传到中央仓库有延迟)
<dependency> <groupId>com.github.nobugboy</groupId> <artifactId>ydoc-spring-boot-starter</artifactId> <version>1.0.6</version> </dependency>
swagger的写法我们都很熟悉,比如我们要生成一个接口的文档信息,只要定义如下方式即可 @RestController @Api(tags = "用户相关") public class TestController { @ApiOperation("获取用户信息") @PostMapping(value = "/get") public User test1(@RequestBody User user){ System.out.println(user); return user; } }
由于我这个项目没有配置扫包不能开启native模式来生成swagger,所以我们直接看一下YDoc是如何支持生swagger页面的,只要简单改造一下即可,是不是比原生的swagger注解方式简洁多了 @RestController(value = "用户相关") public class TestController { @PostMapping(value = "/get",name = "获取用户信息") public User test1(@RequestBody User user){ System.out.println(user); return user; } }
然后我们来修改配置类和配置文件 ```
在启动类上加注解
@EnableSwagger2
配置文件中加一条配置
ydoc.enable=true ``` 然后我们来启动一下程序,查看文档是否已经生成完毕,我这里是8080端口,所以访问http://localhost:8080/doc.html即可 , 文档已经生完毕,不需要额外的扫包和大量的注解,也可以生成和swagger一样的文档
自动化测试邮件以及web页面(不使用YApi无法使用自动化测试)
我们先去YApi上创建一个名为devtest的测试集合,并导入一些接口
自动化测试相关的配置偏多一些 ```
YAPI中项目的id
ydoc.id=18
YAPI登录所使用的邮箱(邮件的发送者也是该邮箱)
ydoc.yapi-user-email=xxxxx@163.com
YAPI登录所使用的m密码
ydoc.yapi-user-password=admin
YAPI中配置的自动化测试集合名称,可以配置多个
ydoc.test-name=devtest
开启自动化测试
ydoc.auto-test=true
yapi-user-email的pop3smtp密码
ydoc.email-password=xxxxxx
发送到哪些邮箱,可以多个
ydoc.to-emails=123232@163.com,1213@qq.com
邮箱的域名
ydoc.email-host=smtp.163.com 配置好之后,我们直接启动程序,可以看到控制台已经打印了信息
2021-06-25 12:00:43.952 INFO 90109 --- [ task-1] com.github.ydoc.config.YapiApi : YDoc自动化测试[devtest]如下: 2021-06-25 12:00:43.952 INFO 90109 --- [ task-1] com.github.ydoc.config.YapiApi : api: [获取用户信息] path: [/get] 2021-06-25 12:00:43.952 INFO 90109 --- [ task-1] com.github.ydoc.config.YapiApi : 一共 1 测试用例,全部验证通过消耗时间:0.03s ``` 查看邮箱,邮件内对html内联样式支持不好,所有看到的效果不是很好看
同时我们支持使用web方式查看,访问http://localhost:8080/test-page 即可,这样的页面是比较好看的