为前端准备通用的增删改查的数据接口,大家有没有好的思路

2019-09-18 10:20:11 +08:00
 daijinming

我考虑重写一套通用的 [增删改查的数据接口] ,这样就可以不用费劲再开发这样简单的 CRUD 接口来,不知道大家能不能谈谈各家的思路,借鉴一下

10911 次点击
所在节点    程序员
106 条回复
YUyu101
2019-09-18 16:20:22 +08:00
呵呵我也这么想过,前后端分离,写个屁的 api 烦都烦死了,干脆学 mongo 用 json 查询,后来想干脆上 graphql 吧,再后来恨不得传 sql 过去,到最后觉得 sql 出来还要前端处理数据,恨不得把 js 代码发到后端 eval 一下,后来我冷静下来想想,我的大脑是被前端腐蚀了,因为却靠近前端数据越不稳定,就越想把资源重心向前端倾斜,企图一劳永逸,然而是不可能的。
jhdxr
2019-09-18 16:23:06 +08:00
太复杂了,直接前端写 SQL 后端执行不就行了→_→
stevenkang
2019-09-18 16:28:00 +08:00
SQL 注入,满足你的需求。
repus911
2019-09-18 16:42:10 +08:00
graphql
数据库通用的话试试 prisma
postgres 数据库有一个 hasura.io
areless
2019-09-18 16:58:35 +08:00
https://github.com/mevdschee/php-crud-api
然后用自己的加解密算法混淆下请求,扔给前端。后端就可以天天摸鱼了。
abcbuzhiming
2019-09-18 17:12:54 +08:00
@StarkWhite 性能问题来自于业务复杂度,怎么可能靠一个工具就彻底解决,你这工具不成银弹了,想想也明白不可能啊,只不过是你这工具没遇到真正麻烦的情况罢了
Rwing
2019-09-18 17:21:28 +08:00
@daijinming abp 了解一下
Rwing
2019-09-18 17:25:58 +08:00
我也想了解一下 graphql 在增删改的表现怎么样
daijinming
2019-09-18 17:29:49 +08:00
@Rwing 朋友,graphql 只是规范,表现如何主要还是看后台开发人员水平。
newtype0092
2019-09-18 17:35:50 +08:00
千万不要,你写完后老板立马就会把你和所有后端的人开除,以后你们公司就不需要后端了~
StarkWhite
2019-09-18 18:01:37 +08:00
@daijinming 同意,后端完全可以灵活发挥,满足各种需求
tommyZZM
2019-09-18 18:05:25 +08:00
graphql
StarkWhite
2019-09-18 18:08:04 +08:00
@newtype0092 后端又不只是 CRUD,还可以做数据监控、统计分析、可视化等
StarkWhite
2019-09-18 18:14:24 +08:00
@StarkWhite 而且就算是只做 CRUD,也没有通用到全部需求都能覆盖的,那个吹上天的 apijson 也不能保证 100% 满足需求,复杂点的增删改也要自己写
StarkWhite
2019-09-18 18:15:27 +08:00
@StarkWhite 还不支持事务呢,也能就用来查询
omniversia
2019-09-18 18:21:33 +08:00
spring data jpa,crudRepository 搞起相当快,然后自己写个 CRUD 模板代码生成器应该可以的
StarkWhite
2019-09-18 18:24:21 +08:00
@omniversia 有推荐过类似生成代码的给楼主,看起来他不是要这种生成代码的项目,他要的是全自动的
omniversia
2019-09-18 18:26:08 +08:00
@StarkWhite 全自动可以的,自己写吧,难说项目就出名了呢,就跟当年 hibernate 一样,啊哈哈
StarkWhite
2019-09-18 18:30:23 +08:00
@omniversia 哈哈,难。而且 hibernate 也不是自动的。
就算真的实现了全自动,那安全、事务、权限等一堆问题也够呛
orzorzorzorz
2019-09-18 20:15:52 +08:00
最为简单省事的就是让前端写 sql,不会就只能 graphql 了。实际上还是感觉前者自由度更高,后者我到现在都不知道该怎么行转列...

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

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

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

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

© 2021 V2EX