首先说声抱歉,标题有点粗俗。
restAPI 考虑通用性的时候,发现自定义表达式的话表达能力有限,后面需求变了可能又要改,然后就顺便想到了 jsonql 的方案,嗯,表达能力和 sql 一样强。
但是,既然表达能力和 sql 一样,sql 更容易书写和阅读,为什么不直接把 sql 作为请求内容发过来。还要用 jsonql 转一道。
我能想到的就这么点,不知道各位怎么看 restAPI 的通用接口?
1
chendy 2021-01-15 18:06:44 +08:00
既然把 sql 作为请求内容发过来,为什么不直接给用户用数据库…
|
2
wunonglin 2021-01-15 18:07:51 +08:00
直接让前端操作数据库得了
|
3
wangyanrui 2021-01-15 18:08:47 +08:00 via Android
既然把数据库给用户,为什么不直接安装到用户本地或者 Excel 增删改查😁
|
4
d7sus4 2021-01-15 18:11:09 +08:00 via iPhone 1
不要从一个极端走向另一个极端
|
5
qwerthhusn 2021-01-15 18:15:35 +08:00
一行 SELECT FULL JOIN 把你数据库搞挂
一行 TRUNCATE/DROP SCHEMA 叫你进局子 |
6
taogen 2021-01-15 18:21:03 +08:00 via Android
接口不是只执行一条 SQL 。难道要解析 SQL 获取参数?
|
8
yulon 2021-01-15 18:58:11 +08:00
各种漏洞就是用奇怪的格式、奇怪的溢出来操作数据库,你直接把数据库暴露给前端,好家伙,别说 35 岁了,可能 25 岁就要被开除,永远不要让前端有 eval 后端的能力
|
9
janxin 2021-01-16 06:53:37 +08:00 via iPhone
不能用 graphql 吗
|
10
KuroNekoFan 2021-01-16 08:00:27 +08:00 via iPhone
前后端分离的一个问题就是总有人不自觉把自己要做的事丢给另外一端
|
12
KuroNekoFan 2021-01-16 08:04:17 +08:00 via iPhone
顺手搜了一下 jsonql,好像没多少用户啊,要考虑也是考虑 graphql 吧
|
13
Rocketer 2021-01-16 08:48:27 +08:00 via iPhone
jsonql 也好,graphql 也罢,都还不成气候,没有闲钱的公司不要急着上。这些东西都有可能像前段时间流行的“中台”一样,过段时间就被拆了。
|
14
taowen 2021-01-16 08:50:48 +08:00
https://zhuanlan.zhihu.com/p/335309652 如何让前端程序员没有后端也能完成项目? https://zhuanlan.zhihu.com/p/337185052 开个通用的 HTTP 接口,让前端写 SQL 咋样?
|
15
flyingfz 2021-01-16 09:25:24 +08:00
可以看看 postgrest ,基于 postgresql 数据库的。
我们之前的方案 , 是写一个 中间件 , 把相关的请求 proxy 到 postgrest,然后在 这个中间件上做好权限控制。 更进一步,完全可以自己把 postgrest 实现一遍, 工作量其实也不大 ,可以做到更细致的权限控制. |