想搞一个(或者已经有了)参数验证+生成文档的整套组件
之前写过一个在 easyswoole 里内置文档的东西,在公司的 easyswoole 项目里用的。
实现的效果就是在控制器方法上使用注释来标记参数,在 onRequest 时用反射类读取注释,验证参数,再正常进业务层。
/**
* @Apiname 列表
*
* @Param type {"type": "int", "desc": "类型"}
* @Param order_by {"type": "string", "desc": "排序方式"}
* @Param page {"type": "int", "default": "1", "desc": "第几页"}
* @Param limit {"type": "int", "default": "20", "desc": "每页几个"}
*
* @Apidesc 一个列表接口
*
*/
然后是生成文档的部分。使用读取文件和字符串处理的方式,获取到整个路由表。再根据路由对应的控制器和方法,找对应的注释,根据注释里的内容生成文档。最后生成的效果是这样的:
接下来的事情,想要生成一个链接,对接 yapi 或 postman。这样就完成了写路由的同时自动生成接口文档。
这一整套的事情想要整合成一个库(或者是已经有了),库的主要功能是路由,然后自动生成文档。文档可以有几种形式,在线查看、对接swagger(生成个链接)、对接 postman (生成json)。
推荐文章: