【问题标题】:GraphQL simple "hello" query returns NULL [duplicate]GraphQL 简单的“hello”查询返回 NULL [重复]
【发布时间】:2018-10-14 10:30:07
【问题描述】:

我有一个查询/突变/订阅列表,我之前写过,现在我不记得 GraphQL 是如何工作的了。

我要做的只是返回一个显示“Hello”的字符串。

类型定义

type Hello {
  message: String
}

type Query {
  hello: Hello
}

解析器

const resolvers = {
  Query: {
    hello: () => 'Hello, world!'
  }
}

当我使用 GraphiQL 可视化工具进行查询时

{
  hello {
    message
  }
}

我回来了

{
  "data": {
    "hello": {
      "message": null
    }
  }
}

以防万一我使用apollo-server-express

【问题讨论】:

    标签: graphql apollo-server


    【解决方案1】:

    您正在请求一个名为 hello 的对象,其中包含一个名为 message 的嵌套键。

    查询实际返回的是 'Hello, world!'.message,这就是它没有出错并返回 null 的原因。

    您要么想要hello: () => ({ message: 'Hello, world!' }),要么只是让字段类型为字符串。

    【讨论】:

    • 所以我猜我是否还想返回其他数据,例如 jwt,我会将其添加到 Hello 类型中,并在解析器中返回 {message: 'hello', jwt: 'supersecretjwt'}?如果我试图返回一个用户以及一个 jwt,这也会起作用吗?那么{id: user.id, username: user.username, jwt: 'jwt'}?
    猜你喜欢
    • 2019-06-14
    • 2020-01-07
    • 1970-01-01
    • 2020-01-15
    • 2021-01-15
    • 2018-04-13
    • 2020-03-01
    相关资源
    最近更新 更多