GraphQL 是一种新兴的 API 查询语言。它具有类型系统和强大的查询能力,这意味着您可以在一个端点上获取您需要的所有数据。 在 GraphQL 中,枚举类型是一种表达预定义值的方式。它定义了一组有限的可能性列表,GraphQL 将这些值用作输入或返回字段的类型。接下来,我们将深入了解 GraphQL 中的枚举类型以及在实际应用程序中如何使用它们。
定义枚举类型
在 GraphQL 中,您可以通过以下方式定义枚举类型:
enum Gender { MALE FEMALE NONBINARY }
在此定义中,我们定义了一个名为 Gender 的枚举类型,并指定了三种可能的值:MALE、FEMALE 和 NONBINARY。使用 enum 关键字定义枚举类型。值是用大写字母书写的字符串。
在类型中使用枚举类型
一旦我们定义了枚举类型,我们可以在 GraphQL 类型和接口中使用它:
-- -------------------- ---- ------- ---- ------ - ----- ------- ------- ------- - --------- ------ - -------- ------- ------- ------- -
在上面的代码中,我们在 Person
和 Animal
类型中使用了 Gender
枚举类型。
在输入类型中使用枚举类型
在 GraphQL 中,我们可以使用枚举类型定义输入字段的类型:
input PersonInput { name: String! gender: Gender! }
在上面的代码中,我们定义了一个 PersonInput
输入类型,并在该类型中使用 Gender
枚举类型。
在查询中使用枚举类型
在 GraphQL 查询中使用枚举类型时,您可以使用枚举值的名称来查询相应的值:
query { person(name: "Tom", gender: MALE) { name gender } }
在上面的查询中,我们查询了一个名为 "Tom" 的男性人员。
在 mutation 中使用枚举类型
在 mutation 中使用枚举类型时,您可以使用枚举值的名称来指定相应的值:
mutation { createPerson(input: {name: "Lina", gender: FEMALE }) { name gender } }
在上面的 mutation 中,我们创建并返回一个名为 "Lina" 的女性人员。
总结
枚举类型使我们可以在 GraphQL 中定义一组有限的可能性,用于表示输入或返回字段的类型。 它们可以在类型、接口、输入类型、查询和 mutation 中使用。在日常开发中,GraphQL 枚举类型非常有用,可简化代码并使类型更清晰。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6492df8448841e98940aa48d