当前位置: 首页 > 后端技术 > Node.js

初步接触GraphQL

时间:2023-04-04 00:53:56 Node.js

GraphQL什么是GraphQL,Facebook开源的一种数据查询语言1.GraphQL是一种有自己语法的语言,和其他编程语言类似2.GraphQL是一个运行时,可以认为是一个运行在服务器上的应用程序,可以理解并响应使用GraphQL语言的请求,类似于一个服务端GraphQL翻译GraphQL的意思RESTfulApi的缺点随着应用的扩展,比如接口调用次数增多,耗时过长。每个接口都是单独开发的,但是又旧又落伍了。所以GraphQL的出现就是为了更好的降低数据之间的网络关系带来的开发复杂度。如何使用一个简单的GraphQL语法示例如下,即输入格式如下(不是JSON){user(id:42){firstNamelastNameemail}}将转换为以下输出{"data":{"user":{"firstName":"John","lastName":"Doe","email":"john@example.com"}}}这可以看作是一个请求-响应过程。查询定义如下constmySchema=newGraphQLSchema({query:queryType});constinputQuery=`{hello}`graphql(mySchema,inputQuery).then(result=>{console.log('ServerAnswer:',result.data);});打印日志如下ServerAnswer:{hello:'world'}GraphQL有一些内置的基础数据类型,然后可以自定义复杂的数据类型,数据类型可以相互嵌套和引用,可以形成一个可配置的数据结构。GraphQL是一种强类型语言,每个字段都必须有严格的FormatConstraints这种语言在很多编程语言中都有实现,graphql.js就是其中之一。对于前端来说,最简单的使用方式就是像上面的hello一样拼接Query来查询数据