使用ASP.NET Core开发GraphQL服务器 -- 预备知识(下)

上一篇文章:http://www.javashuo.com/article/p-zzmscvqt-do.htmlhtml

处理数据

嵌套字段

看例子:node

我想查看viewer下的repositories。注意里面的edges,一旦看到这个词,一般就表示有链接到某个数组的数据。在这里就是一个集合的repository。数组

edges里面的node表明viewer列表里不一样的repository。spa

查询报错了,由于这里须要多repositories有个翻页的动做,因此须要first或last参数。htm

 

添加first参数之后就能够看到正确的结果了:对象

把参数换成last也能够,我就不试了。blog

 

链接 Connection

查看Docs,能够看到viewer下repositories的返回类型是RepositoryConnection:文档

 

再点击进去:get

能够看到RepositoryConnection下面的edges是一个RepositoryEdge的列表。it

 

继续点击进去,能够看到RepositoryEdge下面的node就是一个Repository:

 

把上面的关系用图来表示就是:

 

多重嵌套字段

直接看例子就行:

 

翻页

以前的例子使用了first或last参数进行翻页,但除此以外还有不少种方式能够用来翻页。

具体如何翻页,还要看您如何在schema中定义。

下面再看一个例子:

 

 

查看文档,能够看到issues全部的参数定义:

它们都是用来过滤数据和进行翻页的。

 

为查询起名

以前的例子咱们大多把query关键字忽略了,而完整的写法应该是:

 

query就像是查询的名称,可是若是都叫query就很差区分了,因此咱们能够为查询起名,就在query后边加上名字便可:

这样这个查询既让人明白又能够复用。查询的结果仍是同样的。

 

查询变量

以前例子的参数值都是写死的,咱们能够在查询的名称后边加上参数变量,使用$+名称表示变量,而后将变量传递给相应的字段。而变量的值能够在左下角的窗口里设定:

这个查询结果仍是同样的。

 

变化 Mutation 

以前的例子都是查询数据。下面讲讲如何修改数据。

修改数据就须要用到 mutation

Mutation的特色以下:

  • 和REST里的POST,PUT和DELETE类似。
  • Mutation里使用payload发送数据。
  • GraphQL修改schema背后的数据集。
  • API定义了哪些mutation是容许的。

 

下面看例子,我要为一个Repository的Issue添加评论,首先查询,得到一个Issue的id:

 

而后作mutation:

这里使用mutation关键字,随后跟着mutation的名字和参数变量。该参数变量的类型是AddCommentInput,是一个定义好的对象。

addComment这个操做里面定义的字段是要在mutation成功后返回的字段。

而后在左下方设定好参数,执行操做便可。

右侧是返回的结果。

 

咱们再反查一遍,看看是否添加了新的评论:

我点击了两次,因此新增长了两个评论。

 

好吧简介就写到这吧,尽管很不完整。

下篇开始实战。

相关文章
相关标签/搜索