#4362·graphql-js

GraphQLSchema 不会完全验证名称

作者: ab-pm创建于 2025年3月24日更新于 2026年2月12日

validateName 函数用于验证许多模式部分,目前仅检查名称是否被保留: https://GitHub.com/graphql/graphql-js/blob/6b253e7159a6a6c64c05bcc6bb863fef5a42eeb7/src/type/validate.ts#L206-L217 还应检查 name 是否符合 https://spec.graphql.org/October2021/#Name,例如通过对正则表达式 /^(?!__)[A-Za-z_][A-Za-z0-9_]*$/ 进行测试。否则,通过构造器(而不是通过解析)构建的模式(打印时会导致无效的语法)或字段可能永远无法查询。(不是这个情况,请参阅下面)

内容来源: graphql/graphql-js