我如何在GraphQL模式中定义枚举键? 我期望的响应如下所示
businessByState: {
MO: ["VALUE1", "VALUE2"],
CA: ["VALUE1", "VALUE3", "VALUE4]
}
我知道我可以为状态的值定义枚举,但是仍然想知道如何定义枚举,以便键值仅是2个字母的状态缩写?
答案 0 :(得分:1)
在GraphQL中,必须明确定义对象类型的每个字段。例如:
type BusinessByState {
AL: [String!]!
AK: [String!]!
AZ: [String!]!
# and so on...
}
没有语法可以根据某些输入(例如现有的枚举)定义具有相同类型的多个字段。
如果您的typeDefs只是一个字符串,则可以使用字符串模板为自己节省一些输入,假设您有某种状态缩写数组:
const states = ['AL', 'AK', 'AZ', /** and so on **/]
const typeDefs = `
enum STATES {
${states.join('\n')}
}
type BusinessByState {
${states.map(state => `${state}: [String!]!`).join('\n')}
}
`