2017-11-11 203 views
1

當我運行查詢:Github GraphQL API:如何找出哪些字段是可搜索的?

{ 
    "query": "{user(login: \"furknyavuz\") {repositories(first: 50, isPrivate: false) {nodes {name url}}}}" 
} 

我收到以下錯誤:

{ 
"data": null, 
"errors": [ 
    { 
     "message": "Field 'repositories' doesn't accept argument 'isPrivate'", 
     "locations": [ 
      { 
       "line": 1, 
       "column": 51 
      } 
     ] 
    } 
] 
} 

我可以看到isPivate是Repository對象的領域,但我不能用它來搜索。

我不希望搜索對象的所有字段,但關鍵的問題是,我怎樣才能看到哪些字段是可搜索或可索引的?

回答

3

isPrivateRepository對象,但repositoriesUser object的場RepositoryConnection類型和repositories連接項具有以下參數/類型:

  • 的隸屬關係[RepositoryAffiliation]
  • 字符串後
  • 字符串
  • 第一詮釋
  • isFork布爾
  • isLocked布爾
  • 最後詮釋
  • 排序依據RepositoryOrder前
  • 隱私RepositoryPrivacy

RepositoryPrivacy是一個有兩個值的枚舉:公共和私人。

以下請求將返回私人回購協議:

{ 
    user(login: "furknyavuz") { 
    repositories(first: 50, privacy:PRIVATE) { 
     nodes { 
     name 
     url 
     } 
    } 
    } 
} 

注意,在the explorer,如果鍵入CTRL +空格你將有模式與類型上市:

enter image description here

另外,CTRL +空格再次在「:」後會給出枚舉值:

enter image description here

1

自動完成:

導航到GitHub的GraphQL API Explorer。這是一個圖形界面,它可以讓你編寫你的查詢並實時運行它們。 GraphiQL的一個很好的功能是包含一個自動完成功能。當你輸入一個字段的參數,只需按下Alt鍵+空間+空間的可能的參數會彈出一個列表。這也適用於領域。

文檔:

您也可以通過敲擊在界面的右上角的Docs鏈接查看該模式的文檔。這將列出所有可能的字段,包括他們採取的參數。還有一個模式參考頁面here

GraphQL:

最後,你其實可以只問GraphQL端點自己。例如,運行此查詢將列出所有類型的架構和每一個使用的參數:

{ 
    __schema { 
    types { 
     name 
     inputFields { 
     name 
     description 
     type { 
      name 
     } 
     defaultValue 
     } 
    } 
    } 
}