首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apollo GraphQL错误:必须提供查询根类型

Apollo GraphQL错误:必须提供查询根类型
EN

Stack Overflow用户
提问于 2020-01-06 16:26:22
回答 4查看 7.3K关注 0票数 7

我有一个基于GraphQL端点的Angular/Apollo GraphQl实现生成typescript代码,该端点正在浮现一个模式。我可以通过Postman使用查询来访问端点,并返回结果。然而,当我通过npm运行"graphql-codegen --config codegen.yml“时,我得到了这个错误:

“错误:必须提供查询根类型”

服务器端是使用GraphQL ASPNetCore的.Net核心实现。我定义了4个不同的查询,每个查询都通过graphiql工作。

对于为什么query根类型现在返回为null有什么想法吗?

EN

回答 4

Stack Overflow用户

发布于 2020-10-15 02:17:46

查询必须至少有一个@ GraphQL ()才能被视为有效。因此可能只需要添加任何查询到您的解析器代码将是有帮助的。例如:

代码语言:javascript
运行
复制
export class FooResolver {

  @Query(() => String)
  sayHello(): string {
    return 'Hello World!';
  }
}
票数 5
EN

Stack Overflow用户

发布于 2020-01-06 17:28:08

当您的模式拼接/定义不正确时,会抛出此错误。请选中检查您的根架构定义

https://www.advancedgraphql.com/content/schema-stitching

票数 1
EN

Stack Overflow用户

发布于 2020-01-09 16:45:35

我在使用graphql-codegen时也遇到了同样的问题。

我的codegen.yml是

代码语言:javascript
运行
复制
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时,问题就来了。

我正在使用带有graphqlNodejs作为后端。

当我在后端->模式中重命名RootQuery -> Query和RootMutation ->突变类型时,这个问题得到了解决。

在此之前

代码语言:javascript
运行
复制
type RootQuery {
  _empty: String  
}

type RootMutation {
  _empty: String
}

schema {
    query: RootQuery
    mutation: RootMutation
}

之后

代码语言:javascript
运行
复制
type Query {
  _empty: String  
}

type Mutation {
  _empty: String
}

schema {
    query: Query
    mutation: Mutation
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59608833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档