作者:独孤依人x_762 | 来源:互联网 | 2023-09-16 07:06
GraphQL什么是GraphQLFacebook开源的一个数据查询言语1、GraphQL是一门言语,有本身的语法,这点和其他编程言语是相似的2、GraphQL是一个runtime
GraphQL
什么是GraphQL
Facebook开源的一个数据查询言语
1、GraphQL是一门言语,有本身的语法,这点和其他编程言语是相似的
2、GraphQL是一个runtime,能够以为它是一个运行在服务器上的能够明白和相应运用GraphQL言语的要求运用程序,相似一个服务端的GraphQL翻译
GraphQL的意义
RESTful Api的弊病跟着运用的扩大,被逐步放大,比方接口挪用次数增加,耗时太长。每一个接口做零丁的开辟却又陈旧而不合时宜。所以GraphQL的涌现是为了更好的下降数据之间的网状关联带来的开辟庞杂度。
怎样运用
一个简朴的GraphQL的语法案例以下,就是一个输入花样以下(不是JSON)
{
user(id: 42) {
firstName
lastName
email
}
}
会被转换成以下输出
{
"data": {
"user": {
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com"
}
}
}
这能够看作是一次要求相应的历程
一个查询定义以下
const queryType = new GraphQLObjectType({
name: 'RootQuery',
fields: {
hello: {
type: GraphQLString,
resolve: () => 'world'
}
}
});
const mySchema = new GraphQLSchema({
query: queryType
});
const inputQuery = `{ hello }`
graphql(mySchema, inputQuery).then(result => {
console.log('Server Answer :', result.data);
});
打印log以下
Server Answer : { hello: 'world' }
GraphQL内置一些基本数据范例,然后能够自定义庞杂数据范例,数据范例之间能够相互嵌套和援用,这就能够构成可设置的数据结构
GraphQL是一门强范例的言语,每一个字段都必须要要有严厉的花样束缚
这门言语有很多种编程言语的完成,graphql.js就是个中一种
关于前端而言,最简朴的运用历程就是拼接上文的hello这模样的Query,来查询数据