zoukankan      html  css  js  c++  java
  • 在Node 中使用graphql

      graphql是谷歌开发的一种查询语言,配合express-graphql能够快速的进行接口开发。而且,能够在允许,前端自由查询,操作某一个字段。更加自由,便捷。

    在node中有成熟的中间件,express-graphql ,看看graphql官方给出的用例。

    var express = require('express');   // 引入express 
    var {graphqlHTTP} = require('express-graphql'); // 引用express-graphql中间件 
    var { buildSchema } = require('graphql');  // 引入  graphql的的build方法,该方法能够对符合数据结构类似于protocol-buffers类型的数据,编译成schema 的对象

    var schema = buildSchema(`
      type Query {
        hello: String
      }
    `); // buildSchema 的参数,这里的字符串格式,能够从一个以上数据结构的gql文件中,读取。

    var root = { hello: () => 'Hello world!' }; // 返回结果, 如果是bff层,则从服务端获取数据,对象为每一个字段提供一个返回结果的函数。然后自动组装data形式的结果

    var app = express();  // 构建express服务
    app.use('/graphql', graphqlHTTP({
      schema: schema,
      rootValue: root,
      graphql: true,
    }));  // 直接将graphqlHTTP服务,配置,并将返回的路由中间件挂载到 express的中间件上。
    //  前端在访问改路由配到查询或者操作参数时,就能够得到返回结构
    app.listen(8080, () => console.log('Now browse to localhost:8080/graphql'));
    以上列子,我用注释对,每一个部分操作,进行了解读。方便理解。
  • 相关阅读:
    Wannafly #4 F 线路规划
    PKUWC2018 随机算法
    noip模拟赛
    php 正则判断是否是手机号码 最新
    Onethink上传服务器后登录不了的问题
    【php中的curl】php中curl的详细解说
    50种网站引流量方式
    mysql ERROR 1045 (28000): 错误解决办法
    织梦DEDE分类信息实现联动筛选(支持多条件多级选项)解决方案
    dedecms新增联动类别后的使用方法
  • 原文地址:https://www.cnblogs.com/yaya666/p/13546543.html
Copyright © 2011-2022 走看看