GraphQL 简单 "hello" 查询 returns NULL

GraphQL simple "hello" query returns NULL

我有一个 queries/mutations/subscriptions 的列表,这是我之前写的,但现在我不记得 GraphQL 是如何工作的了。

我想要做的只是 return 一个表示 "Hello".

的字符串

typedef

type Hello {
  message: String
}

type Query {
  hello: Hello
}

解析器

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

当我使用

在 GraphiQL 可视化工具中进行查询时
{
  hello {
    message
  }
}

我回来了

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

为了以防万一,我正在使用 apollo-server-express

您正在请求一个名为 hello 的对象和一个名为 message 的嵌套键。

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

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