javascript - 导入 GraphQL 解析器和模式触发错误
问题描述
当我尝试使用以下配置运行服务器时,我收到一个错误:
错误:在解析器中定义了“createUser”,但具有无效值“function (userInput) {...解析器的值必须是对象类型。
索引.ts
const schema = loadSchemaSync(join(__dirname, './schema/**.graphql'), {
loaders: [new GraphQLFileLoader()]
})
const schemaWithResolvers = addResolversToSchema({
schema,
resolvers: {
...UserResolvers
}
})
.graphql 架构
# import User, UserInput from "User.graphql"
type RootQueries {
user(id: String!): User
}
type RootMutations {
createUser(userInput: UserInput): User
}
schema {
query: RootQueries
mutation: RootMutations
}
解析器
const UserResolvers = {
async createUser(userInput: UserInput) {
// some code
}
}
export { UserResolvers }
解决方案
您可能正在寻找
const schemaWithResolvers = addResolversToSchema({
schema,
resolvers: {
RootMutations: UserResolvers
}
})
因为解析器通常按它们出现的类型分组。
推荐阅读
- debugging - `kubectl debug` 在 1.20 上挂起,启用了功能门
- java - 如何用逗号分割字符串,但从第二个逗号
- javascript - 从离子选择中获取价值并将其存储在本地存储中
- testrigor - 我们如何使用 TestRigor 对 url 执行复制粘贴操作?
- electron - 发现 Electron 支持哪些 Chrome 标志
- sql - 确定正在使用的 SQL 的风格
- php - 如果文件位于子目录中,PHP 无法多次写入同一个文件
- python - 解释仍然活着的概率矩阵图 BG/NBD 模型
- linq - Mongo DB 在 2 个不同的集合中加入数组
- cytoscape.js - 如何在 cytoscape js 中仅显示第一个深度?