GraphQL
特点:
1.请求需要的数据,不多不少。(Restful会返回所有的数据)
2.获取多个资源,只用一个请求
3.描述所有可能类型的系统,便于维护。
GraphQL与restful的对比
1.restful一个接口只能返回一个资源,graphql一次可以获得多个资源
2.restful用不同的url来区分资源,graphql用类型区分资源
使用express+GraphQL需要注意
构建schema,这里定义查询的语句和类型
var schema=bulidSchema(
type Query{
hello: String
}
);
定义查询所对应的resolver,也就是查询对应的处理器
var root ={
hello :() =>{
return "Hello world!";
},
};
Fields:查询一个对象的字段
1.在对象上面选取字段,如果返回的还是对象,那么可以在这个字段里面进行查询。在restful里面查询可能就会返回所有的字段。
2.还可以进行嵌套查询
举例
查询条件
{
hero{
name
friends{
name
}
}
}
返回的数据
{
"data"