Commit Graph

18 Commits

Author SHA1 Message Date
Rossen Stoyanchev
cf1e3ce0da Upgrade to Spring Boot 2.4 snapshots
in order to make use of a recent change for WebMvc.fn in
Spring Framework 5.3.

See gh-6
2020-10-07 20:13:34 +01:00
Rossen Stoyanchev
b5d4fe18ab Javadoc updates and rename WebInterceptorExecution 2020-09-28 11:18:42 +01:00
Rossen Stoyanchev
1f1ce72272 Add WebInterceptorExecution
Arguably a better way to encapsulate support for WebInterceptor vs a
base class, more testable, and reduced public API surface.
2020-09-18 22:25:00 +01:00
Rossen Stoyanchev
40a79ab71a Polishing 2020-09-18 17:44:21 +01:00
Rossen Stoyanchev
b0b10dd8d3 Add tests for bad input 2020-09-18 14:36:26 +01:00
Rossen Stoyanchev
6044017d31 Support for invocation of interceptors 2020-09-18 12:55:19 +01:00
Rossen Stoyanchev
e8a8334009 Updates to Interceptor contract 2020-09-18 11:37:40 +01:00
Rossen Stoyanchev
0e9afb392a Add license headers 2020-09-17 19:25:03 +01:00
Rossen Stoyanchev
aabe780e9a Consistent naming, simplified package structure 2020-09-17 18:52:35 +01:00
Rossen Stoyanchev
8dc56ceaa5 Refine input exception handling and validation 2020-09-17 18:52:35 +01:00
Rossen Stoyanchev
42464b6748 Minor refactoring and polishing
- 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.
2020-09-16 21:10:30 +01:00
Brian Clozel
2693742b63 Add GraphQL web support
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.
2020-09-16 16:34:00 +02:00
Brian Clozel
9aff167527 Add basic support for core GraphQL auto-configuration 2020-09-16 16:22:42 +02:00
Brian Clozel
0d46a98f62 Create web stack-specific GraphQL handlers
Instead of trying to create a single handler for both reactive and
non-reactive implementations, this commit splits the implementations.
2020-09-16 16:16:13 +02:00
Brian Clozel
6040dce0c1 Update request/response GraphQL classes
This commit decouples the HTTP layer from the expected request and
response messages expected with GraphQL.
2020-09-16 16:14:15 +02:00
Brian Clozel
54ec20c510 Switch back interceptor to simple interface 2020-09-16 16:10:39 +02:00
Brian Clozel
39e22eb81a Move auto-configurations to web module
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.
2020-09-16 16:07:38 +02:00
Brian Clozel
a44c836fc0 Merge modules
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.
2020-09-15 14:10:35 +02:00