GraphQL.js

数据查询语言
授权协议 BSD
开发语言 JavaScript
所属分类 Web应用开发、 GraphQL 项目
软件类型 开源受限软件
地区 不详
投 递 者 龚鸿雪
操作系统 跨平台
开源组织 Facebook
适用人群 未知
 软件概览
温馨提示:该项目除了使用 BSD 协议授权外,还需遵守附加的 专利授权

GraphQL.js (GraphQLJS)是 JavaScript 参考实现 GraphQL 的一个技术预览,Facebook 开发的一种查询语言,用于在复杂的应用程序的数据模型中,描述数据要求。

使用示例:

从 npm 安装 GraphQL.js

npm install graphql

首先,建立GraphQL 型架构映射到你的代码库。

import {
  graphql,
  GraphQLSchema,
  GraphQLObjectType,
  GraphQLString
} from 'graphql';var schema = new GraphQLSchema({
  query: new GraphQLObjectType({
    name: 'RootQueryType',
    fields: {
      hello: {
        type: GraphQLString,
        resolve: () => 'world'
      }
    }
  })
});

然后,服务针对该类型架构的查询结果。

var query = '{ hello }';

graphql(schema, query).then(result => {  // Prints
  // {
  //   data: { hello: "world" }
  // }
  console.log(result);

});

这将运行一个查询获取定义一个字段。 graphql 功能将首先确保查询语法和语义有效执行,否则报告错误。

var query = '{ boyhowdy }';

graphql(schema, query).then(result => {  // Prints
  // {
  //   errors: [
  //     { message: 'Cannot query field boyhowdy on RootQueryType',
  //       locations: [ { line: 1, column: 3 } ] }
  //   ]
  // }
  console.log(result);

});

 

  • 前言 javascript端的使用也比较方便, 首先  安装 express express-graphql graphql npm install express express-graphql graphql --save 下面让我们修改我们的“hello world”示例,以便它是一个API服务器 /** * Created by TF016591 on 2017/11/2. */ va

  • GraphQL 官方解释为:一种用于 API 的查询语言 (文章不断完善中...我是写一点更新下) 前面有写过一篇文章《Next.js服务端渲染框架实战》中有提到会把数据请求与后端交互的方式从restful API方式切换成GraphQL方式。这篇文章将会尝试用GraphQL的方式与后端进行数据交互,先立个Flag,写个本地demo,实现基本的CURD(数据的增删改查)操作,欢迎大家一起交流讨论。

 相关资料
  • 概述 使用find()方法在MongoDB集合中查询数据。MongoDB所有的查询范围都是单个集合的。也就是说MongoDB不能跨集合查询数据。 查询可以返回集合中的所有文档,或者仅仅返回指定过滤条件的文档。你可以指定一个过滤条件或才一个判断条件作为参数传递给find()方法。 find()方法在一个游标中返回所有的结果集,通过游标的迭代可以输出所有文档。 查询集合中的所有文档 查询集合中的所有文

  • 获取单个数据 获取单个数据的方法包括: 取出主键为1的数据 $user = UserModel::get(1); echo $user->user_nickname; // 使用数组查询 $user = UserModel::get(['user_nickname' => '老猫']); // 使用闭包查询 $user = UserModel::get(function($query){

  • 数据库操作使用 Db类封装方法,请事先在引入 Db类 use think\Db; 以上可以引入 Db,后面的文档不再说明,直接使用; 查询一个数据使用: // table方法必须指定完整的数据表名 Db::name('user')->where('id',1)->find(); find 方法查询结果不存在,返回 null 查询数据集使用: Db::name('user')->where('s

  • 获取单个数据 获取单个数据的方法包括: 取出主键为1的数据 $user = UserModel::find(1); echo $user->user_nickname; 如果你是在模型内部,请不要使用$this->user_nickname的方式来获取数据,请使用$this->getAttr('user_nickname') 替代。 或者在实例化模型后调用查询方法 $user = new Use

  • 数据库操作使用 Db类封装方法,请事先在引入 Db类 use think\facade\Db; 以上可以引入 Db,后面的文档不再说明,直接使用; 查询一个数据使用: // table方法必须指定完整的数据表名 Db::name('user')->where('id',1)->find(); find 方法查询结果不存在,返回 null 查询数据集使用: Db::name('user')->w

  • 我们废弃了v2.0的一些API,如 getItems(), getItem() 这些API的参数太多,不容易记得,现在都采用find(), findOne(), findById() 来替换了,全部使用连贯操作。 查询数据列表 public function find(); public function getList($sql) $model->getList("select * from u