来自:InfoQ,作者:棒锤
链接:https://xie.infoq.cn/article/b5c3a339267e1351c6151b42a
初衷
用尽可能简单的方式,完成尽可能多的需求。通过约定的方式 实现统一的标准。告别加班,拒绝重复劳动,远离搬砖
特性
-
用于快速开发API接口。不再定义
Controller
,
Service
,
Dao
,
Mybatis
,
xml
,
Entity
,
VO
等对象和方法.
-
可视化界面,将入参自动封装到可执行的脚本上,支持所有关系性数据库SQL执行语句,非关系型
MONGODB
查询语句.欢迎扩展
-
完全基于springboot2.x 作为springboot项目的stater方式集成,无侵入性,新老项目都能快速集成
-
只需编写一行代码即可完成大部分的业务需求开发,使用难度级别(测试 or 运维)也可参与开发
-
-
-
-
线上POSTMAN调试,保存POSTMAN信息或三方文档的自动生成,历史调用记录存储,回塑
-
-
-
经过多次项目验证,传统业务型开发,服务端效率能够提升3-5倍,前后端联调提升效率1倍,测试效率2倍提升
传统开发步骤:
-
-
-
-
-
-
-
-
-
在mysql客户端,或者mongo客户端中写执行脚本语句,复制到代码中
-
-
-
使用一些工具比如mybatis plus,jpa,或者idea的Easy code,MybatisCodeHelperPro等可以一键生成一些基于单表的操作的相关代码,但是业务场景来说,可能喜欢更灵活,代码执行效率更高的一些操作方式,并且一个项目开发中,从来不仅仅是单表的一些操作操作
市面上就上面的这些问题,提供了APIJSON和GraphQL等解决方案,这两个工具相对操作数据库相对很灵活,但是操作难度,和学习成本高,并且适合场景也是有限,如果要实现简单的业务处理逻辑会比较复杂
那么,我希望有一种功具,它可以像mybatis xml,像metabase BI,一样,能够直接操作原生的数据库查询及操作语句,并且可以有springboot的restful这种业界标准的接口定义/及参数定义方式,并且按照统一约定的方式,省略三层MVC的定义,并且能够对数据进行一些逻辑处理,以满足多元化的业务需求。最好是作为一个插件的形式,能够很好的集成在现有项目中,不会影响到现有的业务逻辑处理
这就是我要介绍的一款工具:
https://gitee.com/alenfive/rocket-api-doc/wikis/pages
区别于前两类的设计方式不同点在于:
-
基于springboot开发。包括接口的注册,参数的获取,输入输出的消息转换,都是基于springboot的生态环境,能无侵入性集成于springboot项目中,如果你有基于springboot实现了全局异常处理,返回值统一封装,权限控制等,不用担心,都在你的管控范围内
-
参考于mybatis的参数定义方式,不同点在于使用默认大于配置的逻辑,实现参数的注入直接来源于请求参数,省略了传统MVC 实体类,方法,VO等定义