2017-03-16 84 views
0

我想對GraphQL節點更像jsonapi會是什麼樣http://jsonapi.org/GraphQL非嵌套關係

我的意思是,如果我們採取的例子之一上GraphQL

{ 
    hero { 
    name 
    # Queries can have comments! 
    friends { 
     name 
    } 
    } 
} 
的表示

有這將是一個代表沿着這些線路

{ 
    hero { 
    name 
    # Queries can have comments! 
    friends { 
     id 
    } 
    }, 
    friends { 
    id, name 
    } 
} 

的是,在GraphQL

在所有可能更多

謝謝

回答

0

這是可能的,並且friends字段沒有任何問題。在GraphQL方面你可以有模式的以下部分:

type User { 
    id: ID 
    name: String 
    firends: [User] 
} 
type RootQuery { 
    hero: User 
    friends(forUserId: ID!): [User] 
} 

然後只要你喜歡,你可以查詢這個 - 你可以單獨問朋友:

{ 
    friends(forUserId: "12") { 
     id, name 
    } 
} 

但GraphQL的整體思路是你不必做多個查詢來獲取你需要的信息。如果你只需要一個用戶列表 - 這是一個合理的查詢,大多數人都有(有分頁等參數)。據說,沒有理由獲取ID列表,並在此之後發送另一個數據提取查詢。