2017-04-18 143 views
0

我有一個返回以下數據的API端點:Graphql架構(阿波羅)嵌套對象

{ 
    "2017": { 
     "May": [ 
      {}, 
      {} 
     ], 
     "June": [] 
    }, 
    "2018": {} 
    } 

我如何可以創建這些嵌套對象的模式,因爲它似乎我不能在架構中創建嵌套的對象。

我正在使用typeDefinitionsgraphql-tools,它適用於對象和對象數組,但我無法找到解決此問題的方法。

一種典型的樣子:

type Venue { 
    name: String, 
    url: String, 
    streetAddress: String, 
    streetAddress2: String, 
    streetAddress3: String, 
    city: String, 
    postalCode: String, 
    country: String, 
    phoneNumber: String, 
    info: String 
} 

,可以在另一種類型的使用如下:

type Event { 
    title: String, 
    subTitle: String, 
    slug: String, 
    venues: [Venue], 
    ... 
} 

,但我不能這樣做:

type Calendar { 
    year: { 
     month: [Event] 
    } 
} 

回答

0

嘗試分開嵌套對象:

type Year { 
    month: [Event] 
}  

type Calendar { 
    year: Year 
} 
+0

我試過了,但問題是沒有關鍵的「年份」是「2017」或「2018」 – Samuel

+0

所以也許'片段'對你有好處?請參閱https://learngraphql.com/basics/fragments – yishaiz

+0

或者'GraphQLScalar'作爲'Calendar'類型,如http://stackoverflow.com/a/34229603/3883957 – yishaiz