You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeGraphQL的buildSchema方法是否仍支持validate配置项?

问题原因与解决方案

核心原因

  • 版本不兼容:Ben Awad的lireddit教程使用的是TypeGraphQL 1.x版本,validate属于buildSchema的根级别合法配置项;如果你安装的是2.x及以上的TypeGraphQL版本,该配置项已从根配置中移除,类型定义因此报错。
  • 依赖缺失:TypeGraphQL的校验功能依赖class-validator包,未安装该依赖时,相关配置项的类型定义会被自动隐藏,也会触发该报错。

修复方案

方案1:和教程版本保持一致(推荐)

  1. 安装1.x分支的TypeGraphQL版本:
npm install type-graphql@1.x
  1. 安装配套的校验依赖:
npm install class-validator
  1. 修正你代码中的ApolloServer初始化语法错误,完整可运行代码如下:
const schema = await buildSchema({
  resolvers: [HelloResolver, PostResolver, UserResolver],
  validate: false
})

const apolloServer = new ApolloServer({
  schema,
  // 注意MikroORM要求每个请求使用独立的EntityManager实例,必须调用fork方法
  context: ({ req, res }) => ({ em: orm.em.fork(), req, res })
})

方案2:使用2.x及以上TypeGraphQL版本无需降级

将根配置的validate: false调整到resolverValidationOptions配置项内即可:

const schema = await buildSchema({
  resolvers: [HelloResolver, PostResolver, UserResolver],
  resolverValidationOptions: {
    validate: false
  }
})

内容的提问来源于stack exchange,提问作者Mel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 19:12:00