Skip to content

misleading validation error message in selections under a String #916

@Geal

Description

@Geal

Found when testing something else: apollographql/router#6035 (comment)

With the query query Invalid { me { name { reviews { body } } } } where name is a String, we get the following errors:

{
  "errors":[
    {
      "message":"Field \"me\" of type \"Query\" must have a selection of subfields. Did you mean \"me { ... }\"?",
      "locations":[{"line":1,"column":17}],
      "extensions":{"code":"GRAPHQL_VALIDATION_FAILED"}},
    {
       "message":"Field \"name\" must not have a selection since type \"String\" has no subfields",
       "locations":[{"line":1,"column":22}],
       "extensions":{"code":"GRAPHQL_VALIDATION_FAILED"}
    }
  ]
}

The second error is expected, but why would we get the first one? Is that because the compiler considers the entire name selection invalid, removes it from its view, and then the me selection appears empty?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions