sichenglain 2019-09-08
GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。 GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具。
我们今天来讲解一下如何进行 graphql 查询字符串的组装,在 Javascript 中,graphql 查询字符串的格式如下
`{ list { id name description } }`
当查询类型比较少时,我们还是可以通过手写来维持,但是一旦查询的复杂度开始上升时,手写字符串查询会导致以下几个问题:
而 npm
提供了这么一个小工具,叫做 shadows-graphql-query
,我们通过 npm install
进行安装,然后我们按照下面的方法使用
const gql_query = require('shadows-graphql-query'); const query = gql_query({ categoryList: ['_id', 'level', 'title', 'description', 'post'], product: ['_id', 'level', 'title', 'description', 'post'] }); console.log(query); /** * 最后解析出来的查询字符串是这样的 { categoryList { _id level title description post } product { _id level title description post } } */
该插件还支持嵌套和批量解析,可以充分满足结构化查询的需求。
喜欢的话给一颗 star 吧(GraphQL 查询字符串组装 属于原创)。
Star 超过 10 颗的话,作者将会提供一套完整的 GraphQL 前后端架构方案。