Skip to content

Add GraphQL support #3501

@artembilan

Description

@artembilan

For more info about GraphQL see:

https://graphql.org/
https://www.graphql-java.com/
https://www.baeldung.com/spring-graphql
https://github.com/graphql-java-kickstart

First of all I see that Spring Integration Graph Runtime Model could be exposed as a GraphQL schema for better querying and filtering.

The subscription for runtime model changes could be also as benefit; possible change on the bean registration phase: e.g. some event from a BeanPostProcessor when we see an IntegrationPattern bean - different issue though.

The final GraphQL API could be exposed in the exiting IntegrationGraphController for typical GraphQL clients over HTTP.

Another great feature would definitely be a GraphQLMessageHandler implementation to receive messages with a query (or mutation) requests, call the GraphQL execution against provided schema and produce its result. It doesn't look like an HTTP endpoint is necessary step in defining GraphQL API, so we probably just deffer that feature decision up to end-user. Meanwhile our GraphQLMessageHandler could be called from anywhere who can send a message to the input channel.

The Subscription requests also could be handled some way via existing in the framework Flux features.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions