Graphql 学习Demo
2019-02-19 本文已影响0人
top_5
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 先说这么多,待项目生产上实践了 再分享使用心得。