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

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

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

10494 次点击
所在节点    程序员
106 条回复
nuance2ex
2019-09-18 13:06:04 +08:00
jsonapi 1.0
daijinming
2019-09-18 13:31:37 +08:00
@tinycold 好像经历来好多,rest 美好
daijinming
2019-09-18 13:35:25 +08:00
@tinycold BFF 之前还是没怎么听说过,使用过吗,怎么样?
daijinming
2019-09-18 13:36:15 +08:00
@encro 重点不应改在这里
wisetc
2019-09-18 13:48:18 +08:00
finale + sequelize = `finale-rest`
guolaopi
2019-09-18 13:53:25 +08:00
原来公司有个大佬推广过 Odata
不知道符不符合要求,你可以看看。
.NET 的
daijinming
2019-09-18 14:11:00 +08:00
@guolaopi 感谢老兄
SjwNo1
2019-09-18 14:24:41 +08:00
graphql 一般用来查吧...
StarkWhite
2019-09-18 14:42:33 +08:00
tk.mybatis,MyBatisCodeHelper
StarkWhite
2019-09-18 14:42:58 +08:00
@SjwNo1 query 用来查,mutation 用来 增删改
LokiSharp
2019-09-18 14:44:47 +08:00
PostgREST
StarkWhite
2019-09-18 15:00:41 +08:00
昨天看到有个支持在 URL 参数里写 key@=1&key==2&key<=3&page=1&pageSize=10 这种能自定义条件的开源项目
daijinming
2019-09-18 15:04:11 +08:00
@StarkWhite 至于卸载 URL 里还是 form 里应该没啥太大区别吧,哪个项目,分享下吧
StarkWhite
2019-09-18 15:06:03 +08:00
C# 写的,Biarity/Sieve
GET /GetPosts

?sorts= LikeCount,CommentCount,-created // sort by likes, then comments, then descendingly by date created
&filters= LikeCount>10, Title@=awesome title, // filter to posts with more than 10 likes, and a title that contains the phrase "awesome title"
&page= 1 // get the first page...
&pageSize= 10 // ...which contains 10 posts

这个就是你想要做的效果吧?
https://github.com/Biarity/Sieve#send-a-request
daijinming
2019-09-18 15:18:50 +08:00
@StarkWhite 3Q,参考一下
StarkWhite
2019-09-18 16:00:37 +08:00
@StarkWhite 看了下文档和 issue,这个貌似也只支持单表
StarkWhite
2019-09-18 16:04:17 +08:00
@daijinming 不如 OData
GET http://host/service/Customers?
$filter=Orders/any(o:o/TotalPrice gt 100)
&$expand=Orders($compute=Price mult Qty as TotalPrice

;$select=Name,Price,Qty,TotalPrice)
Varobjs
2019-09-18 16:07:07 +08:00
那个男人
soulzz
2019-09-18 16:07:30 +08:00
GraphQL 劝退+1
自由度太高导致一切都要自己配,然后很可能导致严重的性能问题
建议 restful 解决
StarkWhite
2019-09-18 16:11:29 +08:00
@soulzz 自由度不高的话怎么支持前端定制数据和结构呢?
性能问题看取舍,而且有 dataloader 可以解决

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

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

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

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

© 2021 V2EX