都 9102 年了,大家有没有用上 Facebook 出的 GraphQL ? - V2EX
2019-08-06 00:38:27 Author: www.v2ex.com(查看原文) 阅读量:289 收藏

说通俗一点,graphql 对于后端来说该写的接口还是要写,上了 graphql 后,后端的每个接口,变成了类似数据库表资源的存在,于是前端可以写出等价于 sql 的查询语句:

“ SELECT apiXXX1 WHERE arg1=aaaa AND arg2=bbbbb; SELECT .....”

等价于

{result1:apiXXX1(arg1:aaaa, arg2:bbbbb), result2: apiXXX2......}

前端同学的需求痛点是
1. graphql 可以一个请求完成对原先多次请求的查询,这样就不用 promise 等异步处理了。

但一般来说后端不用 graphql 也能做到一次请求性合并处理多个接口请求,无非是加一个循环而已。

2. graphql 可以通过 schema 约定接口请求与返回的强参数类型。

这个其实前后端本来就能通过接口文档的形式约定,原本是程序员基本素养问题,现在通过强制代码编写约定,我觉得可以提倡,但不少人会不乐意写因为麻烦。

3. graphql 可以过滤掉不需要的字段,减少网络带宽。

虽然减少网络带宽,但服务器查询执行业务的消耗仍旧不变,而且对于大部分业务来说,前端获取的数据越多越好,很少有人会为了省那点带宽干这事情。


文章来源: https://www.v2ex.com/t/589138#reply42
如有侵权请联系:admin#unsafe.sh