📜  GraphQL |标量(1)

📅  最后修改于: 2023-12-03 15:15:25.485000             🧑  作者: Mango

GraphQL | 标量

在 GraphQL 中,标量是一种用于表示单个数据值的定义。 它们是 GraphQL 类型系统的基本构建块之一,并允许您定义可以在 GraphQL API 中使用的自定义类型。 标量通常用于表示基本类型,例如字符串,整数和布尔值。

GraphQL 标准标量类型

GraphQL 标准规范中定义了一组标量类型。

String

String 表示任意文本字符串。

scalar String
Int

Int 表示有符号32位整数。

scalar Int
Float

Float 表示浮点数值。

scalar Float
Boolean

Boolean 表示逻辑值,可能为 true 或 false 。

scalar Boolean
ID

ID 表示唯一标识符,通常表示为字符串。 ID 类型不验证标识符是否实际唯一,只是表示该值是为此目的而设计的。

scalar ID
自定义标量类型

要定义自定义标量类型,请使用“scalar”关键字,后跟标量类型名称。

scalar MyCustomScalar

自定义标量类型允许您将任意类型的数据序列化为 GraphQL 表示形式,并从 GraphQL 表示形式中将其反序列化回原始类型。自定义标量类型非常有用,例如,如果您要向 GraphQL API 中添加日期/时间类型,则可以使用自定义标量类型进行此操作。

下面是使用自定义标量类型的示例:

scalar Date

type Event {
  name: String!
  date: Date!
}

在此示例中,我们定义了自定义标量类型 Date,并使用此类型定义了 Event 对象类型中的日期字段。 如果您使用此 API 获取 Event 类型的查询,则 API 将自动使用 Date 标量将原始日期对象序列化为 GraphQL 可使用的格式,并将响应中包含的日期值反序列化为原始值。 这使得您可以轻松地将任何类型的数据添加到 GraphQL API 中。