我有一个基于GraphQL端点的Angular/Apollo GraphQl实现生成typescript代码,该端点正在浮现一个模式。我可以通过Postman使用查询来访问端点,并返回结果。然而,当我通过npm运行"graphql-codegen --config codegen.yml“时,我得到了这个错误:
“错误:必须提供查询根类型”
服务器端是使用GraphQL ASPNetCore的.Net核心实现。我定义了4个不同的查询,每个查询都通过graphiql工作。
对于为什么query根类型现在返回为null有什么想法吗?
发布于 2020-10-15 02:17:46
查询必须至少有一个@ GraphQL ()才能被视为有效。因此可能只需要添加任何查询到您的解析器代码将是有帮助的。例如:
export class FooResolver {
@Query(() => String)
sayHello(): string {
return 'Hello World!';
}
}发布于 2020-01-06 17:28:08
当您的模式拼接/定义不正确时,会抛出此错误。请选中检查您的根架构定义
发布于 2020-01-09 16:45:35
我在使用graphql-codegen时也遇到了同样的问题。
我的codegen.yml是
overwrite: true
schema: "http://localhost:3001/graphql"
documents: "src/app/graphql/*.graphql"
generates:
src/generated/graphql.ts:
plugins:
- typescript
- typescript-operations
- typescript-apollo-angular当我使用插件typescript-apollo-angular时,问题就来了。
我正在使用带有graphql的Nodejs作为后端。
当我在后端->模式中重命名RootQuery -> Query和RootMutation ->突变类型时,这个问题得到了解决。
在此之前
type RootQuery {
_empty: String
}
type RootMutation {
_empty: String
}
schema {
query: RootQuery
mutation: RootMutation
}之后
type Query {
_empty: String
}
type Mutation {
_empty: String
}
schema {
query: Query
mutation: Mutation
}https://stackoverflow.com/questions/59608833
复制相似问题