介绍一款 API 敏捷开发工具
小詹学Python
共 2645字,需浏览 6分钟
·
2020-09-24 12:11
作者:棒锤
来源:xie.infoq.cn/article/b5c3a339267e1351c6151b42a
初衷
特性
- 用于快速开发API接口。不再定义
Controller
,Service
,Dao
,Mybatis
,xml
,Entity
,VO
等对象和方法. - 可视化界面,将入参自动封装到可执行的脚本上,支持所有关系性数据库SQL执行语句,非关系型
MONGODB
查询语句.欢迎扩展 - 完全基于springboot2.x 作为springboot项目的stater方式集成,无侵入性,新老项目都能快速集成
- 只需编写一行代码即可完成大部分的业务需求开发,使用难度级别(测试 or 运维)也可参与开发
- 在线动态编译,无需重启,即时生效,多数据源操作
- 版本控制,历史记录比对,回滚等功能
- 远程一键发布到线上环境
- 线上POSTMAN调试,保存POSTMAN信息或三方文档的自动生成,历史调用记录存储,回塑
- 代码提示,SQL提示,语法提示
- 用户管理控制,安全性控制,以及历史行为记录
- 经过多次项目验证,传统业务型开发,服务端效率能够提升3-5倍,前后端联调提升效率1倍,测试效率2倍提升
传统开发步骤:
- 增加一张表
- 创建实体对象,映射这张表
- 创建API入参VO
- 创建API出参VO
- 创建Controller
- 创建Service
- 创建Dao
- 创建Mapper, xml或者JPA
- 在mysql客户端,或者mongo客户端中写执行脚本语句,复制到代码中
- 反复重启,进行接口自测
- 编写API文档
- 完成一个功能点开发
- 基于springboot开发。包括接口的注册,参数的获取,输入输出的消息转换,都是基于springboot的生态环境,能无侵入性集成于springboot项目中,如果你有基于springboot实现了全局异常处理,返回值统一封装,权限控制等,不用担心,都在你的管控范围内
- 参考于mybatis的参数定义方式,不同点在于使用默认大于配置的逻辑,实现参数的注入直接来源于请求参数,省略了传统MVC 实体类,方法,VO等定义
- 默认担供了内部函数,可以很简单的实现 多表/多库的增/删/改/查,导出,导入,上传,下载,分页查询等功能
- 提供了基于Groovy的语法解析,可以实现Groovy的一些逻辑处理
- 提供了调用springboot bean对象的方法及其他任意java定义的静态类,方法和对象,这意味着我能够调用公共定义的类,或者之前在项目中定义的service,dao,和utils
- 因为基于的groovy动态语法解析,所以代码修改,或者线上问题的处理能够不用重启服务,也不用升级代码就能够完成功能开发和问题处理,这对开发效率而言会有很大的提升
- 传统业务开发,不仅有服务端的开发,还有相对应的文档生成,前后端对接,以及测试配合。“Rocket API” 提供了POSTMAN的操作页面,能够将参数的请求值,请求类型,响应等保存起来,给予前端做真实数据的对接,而不是类yapi,或者swagger之类生成的不能使用的假数据。基于这些真实的请求参数和返回值,提供了外部接口能力,测试团队可以以此来做接口的一键冒烟测试,和文档的一键生成
演示说明
https://blog.csdn.net/maple_son/article/details/108196584
接口功能逻辑页面
接口功能自测页面
文档和演示地址:https://gitee.com/alenfive/rocket-api-doc/wikis/pages集成方式:
1. 添加依赖<dependency>
<groupId>com.github.alenfivegroupId>
<artifactId>rocket-api-boot-starterartifactId>
<version>0.0.1-SNAPSHOTversion>
dependency>
2. 数据源配置@Component
public class DefaultDataSourceManager extends DataSourceManager {
@Autowired
private JdbcTemplate jdbcTemplate;
@PostConstruct
public void init() {
Map dialects = new HashMap<>();
dialects.put("mysql",new SqlDataSource(jdbcTemplate,true));
super.setDialectMap(dialects);
}
}
3. 最新建表脚本查看:
https://gitee.com/alenfive/rocket-api-doc/wikis/pages?sort_id=2670007&doc_id=859283
启动项目,访问地址: http://localhost:8080/interface-ui由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方“小詹学Python”,进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
评论