📅  最后修改于: 2023-12-03 15:15:25.485000             🧑  作者: Mango
在 GraphQL 中,标量是一种用于表示单个数据值的定义。 它们是 GraphQL 类型系统的基本构建块之一,并允许您定义可以在 GraphQL API 中使用的自定义类型。 标量通常用于表示基本类型,例如字符串,整数和布尔值。
GraphQL 标准规范中定义了一组标量类型。
String 表示任意文本字符串。
scalar String
Int 表示有符号32位整数。
scalar Int
Float 表示浮点数值。
scalar Float
Boolean 表示逻辑值,可能为 true 或 false 。
scalar Boolean
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 中。