graphql查询或变异是否可以返回标量值

时间:2018-10-26 07:56:45

标签: graphql

从语法上讲,您可以在模式中定义查询或变异,以使其返回类型。 但是,操作定义(即客户端调用的查询或变异)必须具有SelectionSet,所以我必须这样做:

mutation X { field }

因此,我的变异或查询结果必须是带有字段的对象,不能是标量。 这是正确的吗?感觉我应该能够只返回一个标量。通过HTTP发送时,结果始终包裹在一个信封中,因此,结果无论哪种方式都是有效的JSON(简单的标量并非严格有效的JSON)。

我的阅读正确吗?

1 个答案:

答案 0 :(得分:5)

您实际上可以返回标量,例如BooleanString

type Mutation {
  hello(who: String!): String
}

发出此查询

mutation foo {
  hello("peter")
}

结果看起来像这样

data.hello // string

使用graphql-yoga + graphql-操场进行了测试:

schema from playground result from playground