使用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成功後返回的字段。

而後在左下方設定好參數,執行操做便可。

右側是返回的結果。

 

咱們再反查一遍,看看是否添加了新的評論:

我點擊了兩次,因此新增長了兩個評論。

 

好吧簡介就寫到這吧,儘管很不完整。

下篇開始實戰。

相關文章
相關標籤/搜索