将自定义类型传递给 Apollo Mutation
Passing Custom Types to an Apollo Mutation
有没有办法通过 Apollo 传递自定义 GraphQL 类型?
例如:如下所示,创建用户的突变(自定义用户类型已在 GraphQL 模式中定义):
createUser(user: User): String
我认为我们只允许传递主要类型,所以不允许传递对象。
另一种选择(不干净)是将对象序列化为字符串并将其作为字符串参数传递,然后在解析器中反序列化它。
可以在变更中传递对象。例如,参见 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
}
}
有没有办法通过 Apollo 传递自定义 GraphQL 类型?
例如:如下所示,创建用户的突变(自定义用户类型已在 GraphQL 模式中定义):
createUser(user: User): String
我认为我们只允许传递主要类型,所以不允许传递对象。 另一种选择(不干净)是将对象序列化为字符串并将其作为字符串参数传递,然后在解析器中反序列化它。
可以在变更中传递对象。例如,参见 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
}
}