Skip to content

Schema inspection should check actual paginated type name rather than deriving it from the Connection type name #1053

Closed
@njuro

Description

@njuro

Hello, we have following connection types defined in our GraphQL schema:

type Member { ... }

type EntityOwnerEdge {
    cursor: String!
    node: Member
}

type EntityOwnerConnection {
    edges: [EntityOwnerEdge!]!
    pageInfo: PageInfo!
}

these conforms to the Relay Cursor Connections specification. However, using this schema with Spring GraphQL results in following error, produced by SchemaMappingInspector:

No node type for EntityOwnerConnection.

Upon inspecting the code it is obvious, that the inspector expects every connection type FooConnection to have edge types with node field of type Foo. But the Relay Connection spec doesn't say anything about the names of the node types (nor edge types), only about the name of connection types. Imho it can be merely considered a good practice, but it shouldn't be something that is enforced through hard assert. This expectation also isn't explictly stated anywhere in Spring GraphQL documentation. Am I missing something?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions