有用过 GraphQL 的吗?可以进来说说相比 restful 的优劣吗?

2021-01-26 11:22:13 +08:00
 ReinerShir

在使用 restful 中,经常发现无法严格按照 restful 规范来设计,结果就是慢慢的变成的一个仅仅是看起来像是 restful 的设计

因此网上找资料发现了 GraphQL,它可以大量节省请求次数,返回字段由前端决定,也不用写文档了,初步了解之下感觉很不错。

但转念一想可能没这么简单,有没有用过的大佬来说说它有什么坑?

相比 restful 的优劣有哪些?

8010 次点击
所在节点   GraphQL
54 条回复
aliipay
2021-01-27 00:32:26 +08:00
@forgottencoast 规范这些纯属浪费时间 ,工作量不饱和才搞这些玩意
forgottencoast
2021-01-27 00:59:07 +08:00
@aliipay 夏虫不可语冰
coymail
2021-01-27 01:13:00 +08:00
GraphQL 更适合 OLAP 场景,拿来干 OLTP 不太合适,是个类似 Gremlin 的图查询结构
Sparetire
2021-01-27 01:32:10 +08:00
看明白了,这帖子里挺多用都没用过就开始口嗨的
wobuhuicode
2021-01-27 09:24:04 +08:00
GraphQL 个人项目做起来爽。前后端都是自己控制的,查询语句放到前端去一点问题都没有。但是放在团队来说的话,减轻了后端压力,但是增加了前端工作量。同时增加了沟通成本。
restful 陈旧?但是规范。而且基本上所有后端都有自己一套 apidoc 方案。写完代码写上注释就出文档。
fansfans
2021-01-27 10:18:59 +08:00
@ReinerShir 我觉得这种情况下用 post 问题也不大 比如前端出现多选搜索的情况 这个时候需要传递一个列表 同时内容比较多容易超出浏览器限制 用 post 是最稳妥的。
flyhelan
2021-01-27 10:29:00 +08:00
@wobuhuicode
怎么你这里说是减轻了后端压力?前面的朋友说的是增加了后端的压力。
a67793581
2021-01-27 10:55:16 +08:00
@flyhelan 技术好的减轻工作量 技术不好的增加工作量 因为这个东西资料不多工具也少 很多时候要考验后端的技术能力
ReinerShir
2021-01-27 11:02:46 +08:00
@fansfans 是的,所以严格遵守 restful 几乎不太可能

另外看了下大家的回复,都是各执一词,如此来看好不好用只能自己去试试看再说了。
WinnieNumberTwo
2021-01-27 15:20:11 +08:00
@flyhelan 后端压力主要在于学习新的技术,真正掌握了的话最终增加的是前端的业务压力:)
630071099
2021-04-14 16:49:06 +08:00
准备使用,被 CTO 驳回了,是前微软老开发,说微软都不用……
chengdonghui
2021-05-06 16:59:28 +08:00
1 降低接口开发的代码量 配合可实现 graphql 自动化的编程框架,比如 hasura 可自动生成 graphql 接口服务,其他编程语言和框架也有类似的
2 增强了接口的灵活性,也可以适应前端的需求变更 比如前端要求加个字段或者返回关联对象的时候,不用增加接口或者重写接口了,前端组织 ql 语句就能实现了
obwj
2022-06-17 09:40:25 +08:00
graphql 3 年老用户在此,已生产使用无数次,应用到不同产品,深爱 graphql
tangkikodo
304 天前
https://github.com/allmonday/pydantic-resolve 可以试试, 用 RESTful + 申明式的类型描述来生成组合数据。

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

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

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

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

© 2021 V2EX