简单了解一下 GraphQL

GraphQL 是什么?

一款 API 查询语言,它不捆绑任何类型的数据库,它的作用就是返回你定义类型的数据。
就像这样:
预先定义好你想要获取的数据类型

{
    user {
      id,
      name
    }
}

随后查询 API,获取符合数据类型的字段

{
   "user": {
       "id": "123123",
       "name": "graphql_test"
   }
}

为什么需要 GraphQL?

简单来说,可能 user 类型有很多很多字段,除了 id,name 还有 address、email、tel...等等。但是某个情况下我们只需要 id 和 name。而某个情况下我们又需要 email、tel 等其他信息。使用传统的 restful API 风格进行查询的情况下,可能后端又要针对新的查询情况去开辟新的后端接口,而前端也要增加新的对应的请求地址。如果使用 GraqhQL 的话,我们只需要定义好数据类型,获取我们想要的字段即可了。

一些其他的考虑

GraphQL 目前的生态还是比较小众,生态比较好的库就是 Apollo,它有对应前端的 apollo-client 和 node 端的 apollo-sever-express。其他语言都是社区里的开发者用爱发电。所以已有的项目迁移成本可能需要考虑对应语言的生态,可能会比较费力。如果是 node + react 这种项目还可以考虑一下尝尝鲜。

你可能感兴趣的:(简单了解一下 GraphQL)