我知道它会被视为反模式,但为什么呢?
mutation {
createUser(name: "john doe") {
addToTeam(teamID: "123") {
name,
id
},
id
}
}
Run Code Online (Sandbox Code Playgroud)
它不比两个HTTP调用更方便吗?
mutation {
createUser(name: "john doe") {
id, # we store the ID
}
}
mutation {
addToTeam(userID: id, teamID: "123") {
name,
id,
}
}
Run Code Online (Sandbox Code Playgroud)
如果你Team和之间有关系User,你可以公开这个API:
创建用户,与现有团队相关
mutation {
createUser(name: "john doe", teamId: "team-id") {
id
team {
id
}
}
}
Run Code Online (Sandbox Code Playgroud)
创建新用户和新团队
mutation {
createUser(name: "john doe", team: {name: "New team"}) {
id
team {
id
}
}
}
Run Code Online (Sandbox Code Playgroud)
这正是Graphcool API处理此问题的方式,如本博客文章所示.您可以在文档中找到另一个示例.
| 归档时间: |
|
| 查看次数: |
672 次 |
| 最近记录: |