Prior to this commit, the `GraphQLAutoConfiguration` would only consider
the case where the GraphQL schema is read as an SDL from a configured
location.
GraphQL also supports the programmatic creation of the schema and this
case needs to be supported by the auto-configuration.
This commit updates the auto-configuration to disable the schema
creation from the SDL if a `GraphQL.Builder` bean is already contributed
by the application.
Fixes gh-4
- Remove (unused) GraphQLResponseBody
- Collapse servlet and reactive packages and rename handlers to
WebFluxGraphQLHandler and WebMvcGraphQLHandler.
- Minor refactoring and polishing in each handler also removing some
protected methods that overlap in purpose.
- Rename GraphQLRequestBody to RequestInput and make it package private.
This commit removes the controller components and instead moves the web
support to specific auto-configurations.
This commit also adds tests for both web stacks.
This commit adds the relevant dependencies to the web module so as to
move all auto-configurations to a single place. Starter modules will
only ship dependencies as a result.
This commit merges the common, webmvc and webflux modules into a single
web module for supporting GraphQL with all Spring web frameworks.
We're working here with optional dependencies to build the support
for Spring MVC on one side and Spring WebFlux on the other.
Also, this commit updates the starter modules to adopt the official
naming convention. For now, starter modules will host both the
configuration infrastructure and the transitive dependencies to activate
support.
This commit refactors the Gradle build with the following:
* use of the dependency management plugin
* import the Spring Boot BOM for dependency management
* add support for publishing artifacts