又发现一款牛逼的 API 敏捷开发工具

小白带你学编程 前天

来源:xie.infoq.cn/article/b5c3a339267e1351c6151b42a

初衷

跟大家分享一个牛逼的 API 敏捷开发工具,用尽可能简单的方式,完成尽可能多的需求。通过约定的方式 实现统一的标准。告别加班,拒绝重复劳动,远离搬砖

特性

  1. 用于快速开发API接口。不再定义Controller,Service,Dao,Mybatis,xml,Entity,VO等对象和方法.
  2. 可视化界面,将入参自动封装到可执行的脚本上,支持所有关系性数据库SQL执行语句,非关系型MONGODB查询语句.欢迎扩展
  3. 完全基于springboot2.x 作为springboot项目的stater方式集成,无侵入性,新老项目都能快速集成
  4. 只需编写一行代码即可完成大部分的业务需求开发,使用难度级别(测试 or 运维)也可参与开发
  5. 在线动态编译,无需重启,即时生效,多数据源操作
  6. 版本控制,历史记录比对,回滚等功能
  7. 远程一键发布到线上环境
  8. 线上POSTMAN调试,保存POSTMAN信息或三方文档的自动生成,历史调用记录存储,回塑
  9. 代码提示,SQL提示,语法提示
  10. 用户管理控制,安全性控制,以及历史行为记录
  11. 经过多次项目验证,传统业务型开发,服务端效率能够提升3-5倍,前后端联调提升效率1倍,测试效率2倍提升

传统开发步骤:

  1. 增加一张表
  2. 创建实体对象,映射这张表
  3. 创建API入参VO
  4. 创建API出参VO
  5. 创建Controller
  6. 创建Service
  7. 创建Dao
  8. 创建Mapper, xml或者JPA
  9. 在mysql客户端,或者mongo客户端中写执行脚本语句,复制到代码中
  10. 反复重启,进行接口自测
  11. 编写API文档
  12. 完成一个功能点开发

使用一些工具比如mybatis plus,jpa,或者idea的Easy code,MybatisCodeHelperPro等可以一键生成一些基于单表的操作的相关代码,但是业务场景来说,可能喜欢更灵活,代码执行效率更高的一些操作方式,并且一个项目开发中,从来不仅仅是单表的一些操作操作

市面上就上面的这些问题,提供了APIJSON和GraphQL等解决方案,这两个工具相对操作数据库相对很灵活,但是操作难度,和学习成本高,并且适合场景也是有限,如果要实现简单的业务处理逻辑会比较复杂

那么,我希望有一种功具,它可以像mybatis xml,像metabase BI,一样,能够直接操作原生的数据库查询及操作语句,并且可以有springboot的restful这种业界标准的接口定义/及参数定义方式,并且按照统一约定的方式,省略三层MVC的定义,并且能够对数据进行一些逻辑处理,以满足多元化的业务需求。最好是作为一个插件的形式,能够很好的集成在现有项目中,不会影响到现有的业务逻辑处理

这就是我要介绍的一款工具 #Rocket API#

区别于前两类的设计方式不同点在于:

  1. 基于springboot开发。包括接口的注册,参数的获取,输入输出的消息转换,都是基于springboot的生态环境,能无侵入性集成于springboot项目中,如果你有基于springboot实现了全局异常处理,返回值统一封装,权限控制等,不用担心,都在你的管控范围内
  2. 参考于mybatis的参数定义方式,不同点在于使用默认大于配置的逻辑,实现参数的注入直接来源于请求参数,省略了传统MVC 实体类,方法,VO等定义
  3. 默认担供了内部函数,可以很简单的实现 多表/多库的增/删/改/查,导出,导入,上传,下载,分页查询等功能
  4. 提供了基于Groovy的语法解析,可以实现Groovy的一些逻辑处理
  5. 提供了调用springboot bean对象的方法及其他任意java定义的静态类,方法和对象,这意味着我能够调用公共定义的类,或者之前在项目中定义的service,dao,和utils
  6. 因为基于的groovy动态语法解析,所以代码修改,或者线上问题的处理能够不用重启服务,也不用升级代码就能够完成功能开发和问题处理,这对开发效率而言会有很大的提升
  7. 传统业务开发,不仅有服务端的开发,还有相对应的文档生成,前后端对接,以及测试配合。“Rocket API” 提供了POSTMAN的操作页面,能够将参数的请求值,请求类型,响应等保存起来,给予前端做真实数据的对接,而不是类yapi,或者swagger之类生成的不能使用的假数据。基于这些真实的请求参数和返回值,提供了外部接口能力,测试团队可以以此来做接口的一键冒烟测试,和文档的一键生成

演示说明

1分钟开发一个接口

接口功能逻辑页面

图片

接口功能自测页面

图片

文档和演示地址:#Rocket API#

集成方式:

1. 添加依赖
<dependency>    <groupId>com.github.alenfive</groupId>    <artifactId>rocket-api-boot-starter</artifactId>    <version>0.0.1-SNAPSHOT</version></dependency>
2. 数据源配置
@Componentpublic class DefaultDataSourceManager extends DataSourceManager {

    @Autowired    private JdbcTemplate jdbcTemplate;

    @PostConstruct    public void init() {        Map<String,DataSourceDialect> 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

(0)

相关推荐

  • 阿里P8架构师教你kill代码重复/大量ifelse

    设为"星标",好文章不错过! 本文就教你如何优雅消除重复代码并改变你对业务代码没技术含量的观念. 1 crud 工程师之"痛" 很多 crud 工程师抱怨业务开 ...

  • 快速开发一个后台管理系统

    目的:开发一个后台管理系统 前台展示页面:学会使用Vue.js(数据双向绑定.数据渲染.组建化开发等).SpringBoot框架的使用 为了快速开发,我们一般选用网上的开源项目,这里选用Lin-CMS ...

  • springboot+mybatis 注解动态创建/删除表的奇葩问题

    最近学习springboot+mybatis自己准备做个todolist的小应用,应用中需要根据注册用户随时创建该用户对应的todolist数据表, 由于没有使用xml方式配置mapper, 使用的是 ...

  • 图解MyBatis

    回复"面试"获取全套面试资料 在以前文章中,我们对Mybatis进行了入门级的介绍教小师妹快速入门Mybatis,看这篇就够了,今天我们来从一个全局的角度看看Mybatis. 本文 ...

  • 微信小程序后端开发(Java)笔记【Springboot+Mybatis】

    前言: 因为是第一次真正接触后端开发,从编码到部署服务器到上线,所以做个笔记,也供和我一样的开发小白一些参考. 一.前期工作:开发环境与工具: 1. 编程语言:Java    #笔者还没学PHP,只想 ...

  • 卧槽!又发现一款牛逼的 API 敏捷开发工具

    作者:棒锤 xie.infoq.cn/article/b5c3a339267e1351c6151b42a 初衷 用尽可能简单的方式,完成尽可能多的需求.通过约定的方式 实现统一的标准.告别加班,拒绝重 ...

  • 发现一款牛逼的 IDEA 插件:检测代码漏洞,一键修复!

    本插件作为Java项目静态代码安全审计工具,侧重于在编码过程中发现项目潜在的安全风险,并提供一键修复能力. 本插件利用IDEA原生Inspection机制检查项目,自动检查当前活跃窗口的活跃文件,检查 ...

  • 介绍一款 API 敏捷开发工具,太爽了!

    JAVA葵花宝典 3天前 作者:棒锤 xie.infoq.cn/article/b5c3a339267e1351c6151b42a 初衷 用尽可能简单的方式,完成尽可能多的需求.通过约定的方式 实现统 ...

  • 两款牛逼糖醋汁配方比例

    牛逼不牛逼,试一试便知!

  • 《向日葵》真TM是一款牛逼的APP!

    前段时间刷微博,刷到这么一条话题: 两位老人因为不会使用手机通道,一位冒雨去交医保,被柜台拒收现金,只能无助地坐在那儿.另一位94岁高龄,行动不便,为了激活社保卡,被抬到银行进行视频认证. 多么令人揪 ...

  • awk,真的是一款牛逼的神器!

    awk,真的是一款牛逼的神器! Python入门与进阶 1周前 转自:川山甲 https://www.cnblogs.com/baochuan/p/3833130.html 序 产品经理(PM)过来找 ...

  • 五款牛逼吹上天,销量烂到爆的打脸SUV,第一名已降价20多万

    没有对比就没有伤害,只是每个月总有那么一次,销量排行榜公布之后,几家欢喜几家愁.然而,在SUV榜单里,有些车型尽管销量很低,但是其上市之初的名气,真的是很大.那么,究竟是什么原因使得这些原本厂商自信满 ...

  • 做数据挖掘的你需要这款牛逼软件

    除了改写代码脚本外,它可以轻松打开数据巨大的文本文件,很多人用过UltraEdit,我们可以对比打开同一个文件测试一下 UltraEdit打开的速度 Notepad+++能够秒开 最重要的一点是Not ...

  • 迄今为止最牛逼的代码补全工具,减少一半操作,实时补全

    机器之心报道 Kite 是一个著名的 Python 代码补全工具,支持在一些 IDE 上作为插件,帮助开发者提升代码效率.Kite 官方宣布将会增加「Intelligent Snippets」功能.据 ...