有没有办法通过Apollo传递自定义GraphQL类型?
e.g。 :如下所示,创建用户的Mutation(自定义用户类型已在GraphQL架构中定义):
createUser(user: User): String
我认为我们只允许传递主要类型,所以没有对象。 另一个选项(不干净)是将Object序列化为String并将其作为String参数传递,并在解析器中对其进行反序列化。
答案 0 :(得分: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
}
}