Rocket-API 的前世今生

5 篇文章 9 订阅
2 篇文章 0 订阅

在这里插入图片描述
大家好,我是一名资深搬砖工程师,常常忙碌于增查删改中,无法自拔。

我曾:

经历过APIJSON的暧昧

经历过GraphQL的诱惑

经历过DataWay的熏陶

后得大师点醒,为什么不直接搞SQL呢

为什么不直接搞SQL呢…
为什么不直接搞SQL呢…
为什么不直接搞SQL呢…

这来自灵魂的三大暴击,一下子打动了我

那就搞一个? 那就搞一个!

https://gitee.com/alenfive/rocket-api

第一版本

画了个页面,可以在里面写SQL,有点像BI系统,写SQL生成报表。只不过这里的输入是http请求的参数,输出的是数据库查询结果,将SQL保存到数据库里,就像这样:

  1. 配置一下请求方式
  2. 配置一下访问路径
  3. 再写个SQL

在这里插入图片描述

select * from user where id = #{id}

好了,一个接口就这样搞定,保存,试一下 (话外音:这不是一门正经的语言,不用重启)

curl http://localhost:8080/test/fast?id=2
[
	{
		"phone": "15828865111",
		"createTime": "2020-05-29 15:44:23",
		"name": "更新",
		"updateTime": "2020-06-24 15:43:06",
		"id": 2
	}
]
第二版本

后来又得大师提点,说,唉,数据不用处理的吗,虽然CURD简单,但,还是有点逻辑的好吧。

刚好,JDK1.8有个新成员 ScriptEngineManager 脚本引擎,他跟Javascript,Python,Ruby,Groovy等等很多语言都有扯不清的关系。挑了一位里面最好的一门语言 “Groovy”(是世界上最好的语言),来解析数据处理逻辑

好了,现在有数据,有逻辑了:

在这里插入图片描述

sql = """sql
select * from user where id = #{id}
"""
user = db.findOne(sql)

user.name = "我是杀手"

return user

保存,再试一下(话外音:Groovy是一门正经的语言,同时也是一门动态编译语言,所以依然不用重启):

curl http://localhost:8080/test/fast?id=2
{
	"phone": "15828865111",
	"createTime": "2020-05-29 15:44:23",
	"name": "我是杀手",
	"updateTime": "2020-06-24 15:43:06",
	"id": 2
}
第三版本

后来又得大师提点,说,springboot 是人们的挚爱亲朋,虽然你长得不错,但又有谁会舍得她呢,我虽然常常CURD,但偶尔也有复杂需求的啊,IDEA这么好,复杂的需求,我可是会寸步难行的

有道理!

那能否做到互不影响,相互独立,又能一起共事呢,我知道,他这是想脚踏两只船了,好在springboot 还很开放,早有心里准备

        <dependency>
            <groupId>com.github.alenfive</groupId>
            <artifactId>rocket-api-boot-starter</artifactId>
            <version>2.2.3.RELEASE</version>
        </dependency>

在这里插入图片描述

https://gitee.com/alenfive/rocket-api

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值