cassiehuang / study

学习笔记整理
2 stars 0 forks source link

GraphQL #30

Open cassiehuang opened 5 years ago

cassiehuang commented 5 years ago

const root = { hello: () => 'hello world', author: () => 'hello author', book: () => ([{ id: 1, title: 'cassie book'}, { id: 2, title: 'cassie book 2'}]) };

// 发起请求 graphql(schema, '{ book { title }}', root).then((response) => { console.dir(response.data); })


* 假设一个场景,用户需要获取关于某个用户的详细信息,多个地方用到,分别需要不同的参数,有的选择全部返回,有的则需要设置多个restful接口来取不同的数据
* 如果使用graphql, 则只需要定义一种query type, graphql内部会根据请求的参数返回相应的数据
* 假设用户查找某一类别名下的所有商品,那么服务器需要3个接口,根据类别名查找类别id,根据类别id查找商品
* resuful的,用户必须新增一个接口,来根据类别名查找类别商品,里面两次query
* graphql,则不需要。只需要定义两次query的结构就可以了
cassiehuang commented 5 years ago

apollo graphql

cassiehuang commented 5 years ago

apollo-graphql

cassiehuang commented 5 years ago