graphql错误字段查询的类型对象需要子选择

cha*_*sad 6 java graphql

在 java 应用程序中调用 GraphQL 查询时出现以下错误 -

"description": "字段 accountQuery 的帐户类型需要子选择", "validationErrorType": "SubSelectionRequired", "queryPath": [ "accountQuery" ],

这是我的架构 -

架构 { 查询:查询 }

类型查询 { accountQuery(nbr: String): 账户 }

类型帐户 {
nbr: 字符串
名称: 字符串 ...
}

我定义了 Account POJO,并且根据传递的 nbr 值在后端调用一个服务,该服务工作正常。
这是我发送的其余请求 -

{ accountQuery(nbr: "123") }

错误是由于缺少 id 字段造成的吗?如果是,我如何将“nbr”字段标记为 id ?

Nir*_*evy 6

在 GraphQL 中,您始终需要提供您想要从查询返回的字段。

例如,如果您想从Account对象中获取 name 和 nbr 字段,您需要这样指定:

{ accountQuery(nbr: "123") {name, nbr}}
Run Code Online (Sandbox Code Playgroud)

这是 GraphQL 中的一个关键概念,每当你查询时,你需要提供一个selection set,即查询中请求的一组字段,你不能只返回一个完整的对象,需要准确指定你想要哪些字段