定义一个包含有限字符串值的GraphQL类型可以使用GraphQL枚举类型。枚举类型允许我们表示固定的值集合并为它们分配名称。
以下是一个定义了不同颜色的GraphQL枚举类型的代码示例:
enum Color {
RED
GREEN
BLUE
}
在这个示例中,我们定义了一个名为“Color”的枚举类型,其中包括三个可能的值:RED、GREEN和BLUE。在使用此类型时,查询和变异中的字段将始终使用这些名称。
在Schema中使用枚举类型:
type Product {
id: ID!
name: String!
color: Color!
}
在这个示例中,我们定义了一个名为“Product”的GraphQL对象类型,它有三个字段,其中一个字段是一个名为“color”的枚举类型。现在,当我们查询Product的color字段时,它将始终返回RED、GREEN或BLUE中的一个。
在查询时使用枚举类型:
query {
products {
id
name
color
}
}
现在,在我们的查询中请求的color字段将始终为RED、GREEN或BLUE中的一个。
{
"data": {
"products": [
{
"id": "1",
"name": "Red Product",
"color": "RED"
},
{
"id": "2",
"name": "Green Product",
"color": "GREEN"
},
{
"id": "3",
"name": "Blue Product",
"color": "BLUE"
}
]
}
}