Graphql 学习Demo

Graphql 火了挺久,网上也有大量文章 和demo, 看了很多觉得都写得又长又臭。
Demo也是要么写得很复杂,要么就是缺少数据 不能正常运行。

所以决定自己东西写一个简单易懂的demo。
demo地址:https://github.com/skyweaver213/graphql-demo

按我对Graphql的理解,简单来说 就是,把原始数据的关系整理好(其实就是graphql的schema)。数据源载体可以是多样化的(数据库,缓存,soa接口 etc)

然后你就不用关心到底前端展示、交互到底依赖了多少张表,多少个缓存 或者多少个soa接口。

你只管用你想表达的方式

例如:

{proLanguage {
  _id
  name
  desc
} 
framework {
  _id
  name
  desc
}}

就能取到 所有需要展示的 程序语言 和 框架数据了

{
  "data": {
    "proLanguage": [
      {
        "_id": "5c6ac94ab2f3b64ab89522fb",
        "name": "javascript",
        "desc": "javascript desc"
      },
      {
        "_id": "5c6ac94ab2f3b64ab89522fc",
        "name": "python",
        "desc": "python desc"
      },
      {
        "_id": "5c6ac94ab2f3b64ab89522fd",
        "name": "php",
        "desc": "php desc"
      }
    ],
    "framework": [
      {
        "_id": "5c6ac94ab2f3b64ab89522ff",
        "name": "react",
        "desc": "react desc"
      },
      {
        "_id": "5c6ac94bb2f3b64ab8952300",
        "name": "vue",
        "desc": "vue desc"
      },
      {
        "_id": "5c6ac94bb2f3b64ab8952301",
        "name": "ember",
        "desc": "ember desc"
      }
    ]
  }
}

学习demo 先说这么多,待项目生产上实践了 再分享使用心得。

你可能感兴趣的:(Graphql 学习Demo)