前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GraphQL 优势之处

GraphQL 优势之处

作者头像
从今若
发布2019-09-19 15:44:16
6010
发布2019-09-19 15:44:16
举报
文章被收录于专栏:家劲

一次查询,搞定需求

举个例子,Book对象有bookTypeId,那我想看对应的bookTypeName,bookType对应的summary咋办? 如果你用RESTful Api ,免不了要定制接口或者多次调用后端。 现在用上GraphQL,就是这么无情:

代码语言:javascript
复制
#查询语句
query add{
    book(bookId: 1){
    bookName
    author
    bookType{
      typeId
      typeName
      summary
    }
    wordNumbers
    cover
    clickTimes
    lastupdate
    createtime
  }
}
#结果
{
  "data": {
    "book": {
      "bookName": "斗战狂潮",
      "author": "骷髅精灵",
      "bookType": {
        "typeId": "48",
        "typeName": "修真文明",
        "summary": "修仙觅长生,热血任逍遥,踏莲曳波涤剑骨,凭虚御风塑圣魂!"
      },
      "wordNumbers": 2547900,
      "cover": "//qidian.qpic.cn/qdbimg/349573/1003694333/180",
      "clickTimes": 3,
      "lastupdate": "2018-02-23T00:00:00",
      "createtime": "2018-02-23T11:33:57"
    }
  }
}

sql语句?各种定制化接口?不存在的,一个GraphQL查询搞定,美滋滋。

继续来一发,排行榜表和作品表,排行榜表记录了book_id,前端展示只需这样:

代码语言:javascript
复制
query rank {
  rankList(rankTypeId: 1,first: 2) {
    edges {
      node {
        bookId
        book {
          bookName
          author
          wordNumbers
        }
        order
        rankTypeId
        createtime
      }
    }
  }
}
**自动根据节点id查询对应node信息,多帅哦**
{
  "data": {
    "rankList": {
      "edges": [
        {
          "node": {
            "bookId": 1,
            "book": {
              "bookName": "斗战狂潮",
              "author": "骷髅精灵",
              "wordNumbers": 2547900
            },
            "order": 1,
            "rankTypeId": 1,
            "createtime": "2018-02-24T00:28:37"
          }
        },
        {
          "node": {
            "bookId": 2,
            "book": {
              "bookName": "就问你气不气",
              "author": "秋刀斩鱼",
              "wordNumbers": 1736500
            },
            "order": 2,
            "rankTypeId": 1,
            "createtime": "2018-02-24T00:32:23"
          }
        }
      ]
    }
  }
}

这么写下来,GraphQL果然还是很不错的。。 上个链接GraphQL

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-02-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一次查询,搞定需求
  • sql语句?各种定制化接口?不存在的,一个GraphQL查询搞定,美滋滋。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档