graphql核心理念解析

243 阅读1分钟

graphql好处:

 1 声明式地数据获取。服务端返回的格式,由客户端来指定。这是最吸引我的一点,所见即所得。精简了数据,避免了从服务端获取的数据中有许多并不需要的字段。 

 2 强类型。对两端数据交互中的数据格式进行限定,不容易出错

 3 自省。schama是服务端给客户端最好的文档,而且会跟随服务端返回数据变化。

 graphql中查询方和被查询方式怎样配合的 :

使用graphql的双方是客户端和服务端。 graphql主要分为三块: query, schema, resolver。 

query, schema, resolver由客户端和服务端共同来完成

schema一般由服务端来写,规定了服务端返回给客户端的数据格式是怎样的。 

query一般由客户端来写,客户端在query中指定想要什么数据。客户端在写query时,会查看服务端给的schema,就知道了后端提供的数据格式是什么样的。然后,客户端写query,对服务端返回的数据再次进行筛选。只选择需要的字段,拼接成想要的格式。

resolver一般由服务端来写,是服务端实际返回数据给客户端。为了query能和对应的resolver能一对一的精准调用,每一对query和resolver的名称是一致的。