【发布时间】:2017-03-03 21:10:42
【问题描述】:
我知道它会被视为一种反模式,但究竟为什么呢?
mutation {
createUser(name: "john doe") {
addToTeam(teamID: "123") {
name,
id
},
id
}
}
难道不比两次 HTTP 调用更方便吗?
mutation {
createUser(name: "john doe") {
id, # we store the ID
}
}
mutation {
addToTeam(userID: id, teamID: "123") {
name,
id,
}
}
【问题讨论】:
-
为什么不在
createUser()中添加一个可选的teamID,以便在一个HTTP 请求中使用更传统的突变来完成这一切? -
是的,如果您想每次都将用户添加到团队中,它实际上会起作用,但如果不是这样,您是否需要在服务器上创建一个额外的突变:
createUserAndAddToTeam?跨度> -
“如果您想每次都将用户添加到团队中,它实际上会起作用”——不。可选的
teamID是可选的。对类型使用String!意味着您可以传入null以表明您不想将用户添加到团队中。 -
哦,是的,我没有考虑过这个选项。
标签: graphql