Android視角學些GraphQL

今天學習一下GraphQL,可以用來查詢數據庫,根據我們請求的格式返回結果.目前接口請求使用這種方式來拿結果,學習一個新的語言或者方法,我通常採用類比的方式,用自己熟悉的語言去理解他.下面我用安卓中熟悉的方式來解讀一下,GraphQL文檔.

查詢和變更

  1. 字段類型:標量(基本數據類型,不可以繼續向下解析)/枚舉/Character/Interface/數組
  2. 輸入對象:變更時傳入的類型,相當於我們上傳一個表單的類型
  3. 接口(繼承,多態):可以走繼承,請求子類的具體值
  4. 別名:相同類型,爲了作比較,需要定義不同的名稱.
  5. 片段(類型的抽取):這樣我們可以查詢類型相同,值不相同的數據,賦給不同的對象.
  6. 操作名稱:根據操作類型graphql可以知道是哪種操作,就像數據庫的增,刪,改,查一樣.操作名稱是爲了方便我們通過名稱一目瞭然,知道這個查詢是用來幹啥的,也可以在出現問題的時候快速定位.
  7. 變量:跟在操作名稱後面,就像我們方法中的變量一樣,可以傳不同的值,查詢不同的結果.
  8. 指令:類似於if/else 通過一些boolean值來判斷是否請求響應的數據.
  9. 變更(mutation):相當於我們提交給服務器一條數據,用來更新或者添加,之後還可以查詢這條數據變更後的結果.
  10. 內聯片段:相當於多態,他們有共同的父類,但是又有自己的屬性,通過類型,請求不同的字段.
  11. 元字段:相當於switch/case,根據不同的值查詢不同的結果.

驗證:相當於語法檢測,可以告訴我們書寫是否規範,報錯提示具體位置

執行:更好的講解了graphql的執行過程,異步解析器,執行結束的節點爲標量,以及返回的格式類型.

內省:感覺就像是java中的反射,可以看到一個類包含哪些字段.

簡單整理一下,希望可以幫助大家更好的理解.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章