大家好,我是一名资深搬砖工程师,常常忙碌于增查删改中,无法自拔。
我曾:
经历过APIJSON的暧昧
经历过GraphQL的诱惑
经历过DataWay的熏陶
后得大师点醒,为什么不直接搞 SQL 呢
为什么不直接搞SQL呢…
为什么不直接搞SQL呢…
为什么不直接搞SQL呢…
这来自灵魂的三大暴击,一下子打动了我
那就搞一个? 那就搞一个!
https://gitee.com/alenfive/rocket-api
第一版本
画了个页面,可以在里面写SQL,有点像BI系统,写SQL生成报表。只不过这里的输入是http请求的参数,输出的是数据库查询结果,将SQL保存到数据库里,就像这样:
- 配置一下请求方式
- 配置一下访问路径
- 再写个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
猜你喜欢:暂无回复。