GraphQL查询验证定义与我的实现有何不同?

GraphQL查询验证定义与我的实现有何不同?,graphql,apollo-server,Graphql,Apollo Server,使用以下类型定义和查询: export const typeDefs = gql` type Query { getLocations: [Location] }... type Location { id: ID! name: String! }` 我收到错误信息: 类型为“[Location]”的字段“getLocations”必须选择子字段。你是说“getLocations{…}” 查询确实返回位置对象数组

使用以下类型定义和查询:


export const typeDefs = gql`
    type Query {
        getLocations: [Location]
    }...
    type Location {
        id: ID!
        name: String!
    }`
我收到错误信息:

类型为“[Location]”的字段“getLocations”必须选择子字段。你是说“getLocations{…}”


查询确实返回位置对象数组,但验证失败。在浏览了graphql和apollo graphql文档并疯狂地搜索了这个错误之后,它似乎是正确的实现。是否还有其他可能影响此操作的内容?

在请求某些内容时,必须选择架构类型的子字段。这里您正在请求一个类型为
Location
的数组,其中包含
id
name
。您必须包含其中一个,它才能返回如下内容

这将消除该错误

query {
  getLocations{
   id
   name
  }
}

希望这有帮助

请求内容时,必须选择架构类型的子字段。这里您正在请求一个类型为
Location
的数组,其中包含
id
name
。您必须包含其中一个,它才能返回如下内容

这将消除该错误

query {
  getLocations{
   id
   name
  }
}

希望这有帮助

谢谢,这很有道理!我尝试过使用您的示例,尽管它的语法似乎与我用于定义的模板文本非常不同。我会坚持下去的it@Oddiesea这不适用于类型定义。当你在询问某件事时,它是为你准备的。您可以在GraphiQL界面中尝试它,这非常有意义!我尝试过使用您的示例,尽管它的语法似乎与我用于定义的模板文本非常不同。我会坚持下去的it@Oddiesea这不适用于类型定义。当你在询问某件事时,它是为你准备的。您可以在GraphiQL接口中尝试它