首页 > 解决方案 > GraphQL - 如何在模式中指定最大字符串长度

问题描述

我想告诉 GraphQL 我的“serialNumber”字段是一个长度在 1 到 20 个字符之间的字符串。我知道用!在模式中使字段为必填项,但我可以告诉 GraphQL 还有一个最大字段长度吗?

如果我为必需的 String 字段传递一个空值,GraphQL 将不接受它。我希望它在传递一个比最大允许长度长的字符串时表现相同。

我已经研究过两种方法:1)在 schema.graphql 文件中的字段定义中添加一个“maxlength”属性。或 2) 创建一个新类型并为其分配最大长度。

我找不到任何有关如何操作的信息。有可能吗?

标签: graphql

解决方案


您可以使用指令:

directive @length(max: Int!) on FIELD_DEFINITION

input Payload {
  name: String! @length(max: 50)
}

推荐阅读