2017-03-31 60 views
0

有沒有辦法將自定義GraphQL類型傳遞給Apollo?將自定義類型傳遞給Apollo突變

例如:像下面,突變創建一個用戶(用戶自定義類型已經在GraphQL架構中定義):

createUser(user: User): String 

我認爲我們只允許通過主要類型,所以沒有對象。 另一個選項(不乾淨),將序列化一個對象作爲一個字符串,並將其作爲一個字符串參數傳遞,並在解析器中反序列化它。

回答

1

可以在突變中傳遞一個對象。例如參見cheat sheet。但是你必須定義一個額外的輸入用戶GraphQL類型,並且不能使用用戶類型。

在你的情況可能是這樣的:

` 
 
type User { 
 
    id: ID! 
 
    username: String! 
 
    // other query properties 
 
} 
 

 
input UserInput { 
 
    username: Strin! 
 
} 
 
`

,變異和解析看起來是這樣的:

` 
 
mutation createUser(user: UserInput!): String 
 
` 
 

 
Mutation: { 
 
    createUser(_, { user }) { 
 
    // create in database 
 
    } 
 
}

+0

謝謝,t帽子正是我所錯過的。 – awzx

相關問題