GraphQL小tips

前端通过安装包形式引入graphQL(在已有graphQL server端情况下,前端graphQL可直接通过api方法查询接口对应参数数据而过滤不必要的数据字段返回), webpack编译gql文件,

GraphQL 不足:
写后台接口,要注意的是它并非用来提升接口性能,相反反而会降低接口性能。
比如你一个完整响应有 10 个字段,你只要返回两个字段,后台不会只查询那两个字段,
而是先查询出完整响应,再逐字段遍历解析才返回所需的两个字段的值。
这个就导致完整响应的字段过多或者响应结果值过多都会导致接口性能下降明显。

GraphQL 还是有其优点的:
一个是它只返回所请求的字段信息。
比如一个用户信息响应有多个字段,但前端只需要 UserID 和 UserName,那接口能只返回 UserID 和 UserName 这两个响应字段,而不返回其他多余的响应字段,这个对于 facebook 这种每天接口请求几十几百亿次的话,减少的流量带宽还是比较可观的。
二是可以合并多个请求接口。比如后台有产品信息及产品详情页信息两个接口,在一个 GraphQL 接口里,可以同时返回产品信息和产品详情两个接口的响应结果

参考url: https://www.v2ex.com/amp/t/427036

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章