Lel*_*ong 5 enums types graphql
给定以下GraphQL类型定义:
const typeDefs = `
enum Action {
update
delete
}
type Mutation {
doSomething(action: Action)
}
`;
Run Code Online (Sandbox Code Playgroud)
该查询有效:
const query = `
mutation($action: Action) {
doSomething(action: $action)
}
`
const variables = { action: "update" }
Run Code Online (Sandbox Code Playgroud)
但这不是:
const query = `
mutation {
doSomething(action: "update")
}
`
Run Code Online (Sandbox Code Playgroud)
GraphQL不支持直接将枚举值作为参数传递吗?
Dan*_*den 10
GraphQL确实支持将枚举直接作为参数传递;但是,您需要省略该值周围的引号以使其起作用:
const query = `
mutation {
doSomething(action: update)
}
`
Run Code Online (Sandbox Code Playgroud)
根据规格:
枚举值表示为未加引号的名称(例如MOBILE_WEB)。
因此,与字符串值不同,枚举值不应放在引号内。我们将它们用于变量的唯一原因是遵循正确的JSON格式。