通用 rest api 用 jsonql 是不是脱裤子放屁?

2021-01-15 18:01:16 +08:00
 cstj0505

首先说声抱歉,标题有点粗俗。

restAPI 考虑通用性的时候,发现自定义表达式的话表达能力有限,后面需求变了可能又要改,然后就顺便想到了 jsonql 的方案,嗯,表达能力和 sql 一样强。

但是,既然表达能力和 sql 一样,sql 更容易书写和阅读,为什么不直接把 sql 作为请求内容发过来。还要用 jsonql 转一道。

我能想到的就这么点,不知道各位怎么看 restAPI 的通用接口?

2961 次点击
所在节点    程序员
15 条回复
chendy
2021-01-15 18:06:44 +08:00
既然把 sql 作为请求内容发过来,为什么不直接给用户用数据库…
wunonglin
2021-01-15 18:07:51 +08:00
直接让前端操作数据库得了
wangyanrui
2021-01-15 18:08:47 +08:00
既然把数据库给用户,为什么不直接安装到用户本地或者 Excel 增删改查😁
d7sus4
2021-01-15 18:11:09 +08:00
不要从一个极端走向另一个极端
qwerthhusn
2021-01-15 18:15:35 +08:00
一行 SELECT FULL JOIN 把你数据库搞挂
一行 TRUNCATE/DROP SCHEMA 叫你进局子
taogen
2021-01-15 18:21:03 +08:00
接口不是只执行一条 SQL 。难道要解析 SQL 获取参数?
cstj0505
2021-01-15 18:47:07 +08:00
@d7sus4 你这个回复靠谱点,哈哈,我想所谓通用不就是表达式嘛,表达能力强
yulon
2021-01-15 18:58:11 +08:00
各种漏洞就是用奇怪的格式、奇怪的溢出来操作数据库,你直接把数据库暴露给前端,好家伙,别说 35 岁了,可能 25 岁就要被开除,永远不要让前端有 eval 后端的能力
janxin
2021-01-16 06:53:37 +08:00
不能用 graphql 吗
KuroNekoFan
2021-01-16 08:00:27 +08:00
前后端分离的一个问题就是总有人不自觉把自己要做的事丢给另外一端
cstj0505
2021-01-16 08:00:29 +08:00
@janxin 嗯,是考虑这个,比 jsonql 成熟些
KuroNekoFan
2021-01-16 08:04:17 +08:00
顺手搜了一下 jsonql,好像没多少用户啊,要考虑也是考虑 graphql 吧
Rocketer
2021-01-16 08:48:27 +08:00
jsonql 也好,graphql 也罢,都还不成气候,没有闲钱的公司不要急着上。这些东西都有可能像前段时间流行的“中台”一样,过段时间就被拆了。
taowen
2021-01-16 08:50:48 +08:00
https://zhuanlan.zhihu.com/p/335309652 如何让前端程序员没有后端也能完成项目? https://zhuanlan.zhihu.com/p/337185052 开个通用的 HTTP 接口,让前端写 SQL 咋样?
flyingfz
2021-01-16 09:25:24 +08:00
可以看看 postgrest ,基于 postgresql 数据库的。
我们之前的方案 , 是写一个 中间件 , 把相关的请求 proxy 到 postgrest,然后在 这个中间件上做好权限控制。

更进一步,完全可以自己把 postgrest 实现一遍, 工作量其实也不大 ,可以做到更细致的权限控制.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/745327

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX