如何在 GraphQL typedef 中使用 Number 或 Array 类型

Cod*_*erd -2 typedef node.js graphql

我正在尝试在 typedef 中使用 Number 类型和 Array 类型作为 GraphQL 中的 Product 类型。但 GraphQL 在控制台中给了我一些错误。这是我第一次使用 GraphQL。

Unknown type "Array".

Unknown type "Number".
Run Code Online (Sandbox Code Playgroud)

这是我试图创建的 typedef。

 type Product {
    sku: String
    productName: String
    isNewProduct: Boolean
    isPromo: Boolean
    promoType: String
    promoPrice: Number
    promoStart: String
    promoEnd: String
    stockingPrice: Number
    finalPrice: Number
    isActiveProduct: Boolean
    availableQuantity: Number
    quantityUnit: String
    category: String
    saleType: String
    manufactureCompany: String
    year: String
    color: String
    tags: Array
    variantID: String
    description: String
  }
Run Code Online (Sandbox Code Playgroud)

我检查了一下,发现数字的情况下有 ID 类型和 Float 类型。

但是,我正在编写 JavaScript。promoPrice 属性有可能会获得浮点数或整数,如果是这种情况,我不希望抛出错误。这就是为什么我想使用 Number 类型。

另外,如果数组同时包含字符串和数字,我该怎么办?

小智 7

GraphQL 模式语言支持 String、Int、Float、Boolean 和 ID 等标量类型。如果您想使用 Number,请使用 Int。如果你的标签是字符串数组那么你实际上可以定义像tags: [String]