2016-09-23 88 views
2

如何將多個查詢分批發送到GitHub的GraphQL API的單個請求中?如何批量GitHub GraphQL API查詢?

例如,如何將這兩個查詢分批到一個請求中並接收單個響應?而且這種技術可以處理更多的查詢(比如200)嗎?

{ 
    repositoryOwner(login:"rails") { 
    repository(name:"rails") { 
     description 
     homepageURL 
    } 
    } 
} 

{ 
    repositoryOwner(login:"github") { 
    repository(name:"graphql-client") { 
     description 
     homepageURL 
    } 
    } 
} 

(GitHub的GraphQL API可以與https://developer.github.com/early-access/graphql/explorer/試行)

回答

5

您需要調用換到這兩個領域在一個查詢:

{ 
    repositoryOwner(login:"rails") { 
    repository(name:"rails") { 
     description 
     homepageURL 
    } 
    } 
    repositoryOwner(login:"github") { 
    repository(name:"graphql-client") { 
     description 
     homepageURL 
    } 
    } 
} 

這仍然會失敗但是,作爲現在在輸出中有兩個字段具有相同名稱(repositoryOwner),因此您需要將它們別名:

{ 
    rails: repositoryOwner(login:"rails") { 
    repository(name:"rails") { 
     description 
     homepageURL 
    } 
    } 
    graphql_client: repositoryOwner(login:"github") { 
    repository(name:"graphql-client") { 
     description 
     homepageURL 
    } 
    } 
} 

請參閱this explanation

如果你可以爲每個查詢生成一個唯一的別名,那麼是這個技術應該可以正常工作。