3531 Commits

Author SHA1 Message Date
Brian Clozel
9954b4c63e Auto-configure Query* support for GraphQL
This commit auto-configures Spring Data Querydsl and QueryByExample
support for Spring GraphQL.

See gh-29140
2021-12-21 08:33:43 +01:00
Brian Clozel
6ef1ed0dd0 Auto-configure GraphQL WebSocket endpoint
This commit auto-configures a GraphQL WebSocket endpoint for both Spring
MVC and Spring WebFlux. This is only enabled if the required libraries
are on the classpath and if the `"spring.graphql.websocket.path"`
property is defined.

See gh-29140
2021-12-21 08:33:25 +01:00
Brian Clozel
4ef9b9e3e5 Auto-configure CORS options for GraphQL web endpoints
This commit adds `"spring.graphql.cors.*"` configuration properties to
customize the CORS configuration for GraphQL web endpoints.

See gh-29140
2021-12-21 08:33:19 +01:00
Brian Clozel
0099460155 Auto-configure graphiql endpoint
Spring GraphQL ships with a static version of the graphiql IDE for
exploring and querying GraphQL endpoints.
See https://github.com/graphql/graphiql for more information.

This commit auto-configures the GraphiQL handler for both MVC and
WebFlux and points GraphiQL to the GraphQL HTTP endpoint exposed by the
application. This feature is disabled by default and can be switched on
with "spring.graphql.graphiql.enabled=true".

See gh-29140
2021-12-21 08:33:11 +01:00
Brian Clozel
ff9a421786 Auto-configure schema printer endpoint
This commit configuresa new endpoint for printing in text format the
resolved GraphQL schema.
This endpoint is exposed by default under "/graphql/schema" and must be
enabled with "spring.graphql.schema.printer=true".

See gh-29140
2021-12-21 08:33:05 +01:00
Brian Clozel
b38d04556e Auto-configure HTTP transport for MVC and WebFlux
This commit adds two new auto-configuration classes for Spring GraphQL
support. Once the base GraphQL infrastructure is in place, we can now
expose the `GraphQlService` over an HTTP transport.

Spring GraphQL supports both MVC and WebFlux, so this commit ships with
one auto-configuration for each.
Developers can configure the HTTP path where the GraphQL resource is
exposed using the `spring.graphql.path` configuration property (this
defaults to `"/graphql"`).

See gh-29140
2021-12-21 08:32:56 +01:00
Brian Clozel
5cf0a4db94 Add FailureAnalyzer for InvalidSchemaLocationsException
This commit adds a new `FailureAnalyzer` for exceptions thrown when no
GraphQL schema file could be found.
This lists configured locations (with `"classpath:..."` notation) and
also resolved locations - this helps developers figure out how the
pattern are resolved and why schema files cannot be found.

See gh-29140
2021-12-21 08:32:48 +01:00
Brian Clozel
de808834f5 Auto-configure Spring GraphQL base infrastructure
This commit adds the auto-configuration for setting up the base Spring
GraphQL infrastructure. Because GraphQL doesn't depend on any particular
transport, we must have a separate configuration for creating:

* the `GraphQlSource`, which holds the schema and the `GraphQL` instance
* the `GraphQlService` for executing incoming requests
* the `BatchLoaderRegistry` for batch loading support
* the `AnnotatedControllerConfigurer` for supporting the annotated
  controllers programming model

This comes with a starting point for the `"spring.graphql.*"`
configuration properties; we can now configure the locations and file
extensions of GraphQL schema files we should load and configure at
startup.

See gh-29140
2021-12-21 08:32:37 +01:00
Stephane Nicoll
d271e76b48 Merge branch '2.7.x' 2021-12-20 18:08:10 +01:00
Stephane Nicoll
83d732823d Merge branch '2.6.x' into 2.7.x
Closes gh-29136
2021-12-20 18:08:00 +01:00
Stephane Nicoll
653fdbd0a4 Configure comment prefixes
Closes gh-29095
2021-12-20 17:47:50 +01:00
Phillip Webb
003fb229fd Merge branch '2.7.x' 2021-12-16 13:07:22 -08:00
Phillip Webb
f3bcbca841 Update copyright year of changed files 2021-12-16 13:05:17 -08:00
Stephane Nicoll
75d2c36846 Merge branch '2.7.x' 2021-12-16 17:30:45 +01:00
Stephane Nicoll
63427b77d1 Merge branch '2.6.x' into 2.7.x
Closes gh-29086
2021-12-16 17:30:36 +01:00
Stephane Nicoll
55859ea64c Stop accessing the datasource if initialization mode is set to never
Closes gh-28931
2021-12-16 16:50:22 +01:00
Stephane Nicoll
035adf4f05 Merge branch '2.7.x' 2021-12-15 16:41:27 +01:00
Stephane Nicoll
38aeeee381 Merge branch '2.6.x' into 2.7.x 2021-12-15 16:41:19 +01:00
Stephane Nicoll
3b4d27e4d3 Merge branch '2.5.x' into 2.6.x 2021-12-15 16:41:09 +01:00
Stephane Nicoll
30ebb17b2b Polish 2021-12-15 16:38:27 +01:00
Stephane Nicoll
cd69781457 Merge branch '2.7.x' 2021-12-14 15:32:22 +01:00
Stephane Nicoll
9ca1cffab7 Merge branch '2.6.x' into 2.7.x
Closes gh-29016
2021-12-14 15:32:13 +01:00
Stephane Nicoll
ba60e3d358 Merge branch '2.5.x'
Closes gh-29002
2021-12-14 15:31:45 +01:00
Stephane Nicoll
157b3aa25f Allow platform to be configured in DataSourceInitializers
Closes gh-28932
2021-12-14 15:07:32 +01:00
Andy Wilkinson
3c8d4d33e1 Upgrade to Spring Data Elasticsearch 7.16.0
Closes gh-28987
2021-12-10 21:43:29 +00:00
Stephane Nicoll
b961b14d0f Merge branch '2.6.x' into 2.7.x
Closes gh-28980
2021-12-10 11:02:02 +01:00
Stephane Nicoll
dfab6ee307 Merge branch '2.5.x' into 2.6.x
Closes gh-28979
2021-12-10 11:01:48 +01:00
Stephane Nicoll
f6f5aec183 Polish "Check for the presence of Spring Security"
See gh-28967
2021-12-10 10:59:00 +01:00
Guirong Hu
4462f9157e Check for the presence of Spring Security
See gh-28967
2021-12-10 10:58:30 +01:00
Stephane Nicoll
d61d597a96 Merge branch '2.7.x' 2021-12-09 16:00:20 +01:00
Stephane Nicoll
a2eeb77e21 Merge branch '2.6.x' into 2.7.x
Closes gh-28951
2021-12-09 16:00:09 +01:00
Vedran Pavic
0af4431db8 Apply SameSite session cookie property to Spring Session
This commit maps the `server.servlet.session.cookie.same-site`
configuration property to the `DefaultCookieSerializer` bean configured
in the Spring Session auto-configuration.

See gh-28784
2021-12-09 15:53:50 +01:00
Stephane Nicoll
c83ab9bbc5 Merge branch '2.7.x' 2021-12-09 15:51:29 +01:00
Stephane Nicoll
89635eafa3 Update copyright year of changed files
See gh-28862
2021-12-09 15:48:47 +01:00
Stefano Cordio
a5c56043b9 Simplify AssertJ usage
See gh-28862
2021-12-09 15:39:02 +01:00
Stephane Nicoll
77c8303bd0 Merge branch '2.7.x' 2021-12-09 10:46:18 +01:00
Stephane Nicoll
25a2888be5 Fix default value of spring.mvc.pathmatch.matching-strategy property
Closes gh-28936
2021-12-09 10:45:21 +01:00
Scott Frederick
33953823fc Replace usage of deprecated Spring Framework methods
See gh-28642
2021-12-06 16:12:34 -06:00
Andy Wilkinson
fe7b13ec46 Upgrade to Spring Framework 6 and Jakarta EE 9
Closes gh-28619
Closes gh-28620
Closes gh-28621
Closes gh-28622
Closes gh-28623
Closes gh-28624
Closes gh-28625
Closes gh-28626
Closes gh-28627
Closes gh-28628
Closes gh-28629
Closes gh-28630
Closes gh-28631
Closes gh-28632
Closes gh-28633
Closes gh-28634
Closes gh-28635
Closes gh-28636
Closes gh-28638
Closes gh-28639
Closes gh-28640
Closes gh-28644
Closes gh-28645
Closes gh-28650
Closes gh-28711
Closes gh-28866
Closes gh-28867
Closes gh-28868
Closes gh-28872

See gh-28641
See gh-28642
See gh-28643
See gh-28646
See gh-28647
See gh-28648
See gh-28649
See gh-28721
See gh-28869
See gh-28871
2021-11-30 20:32:16 +00:00
Andy Wilkinson
4a8904aaa9 Drop support for jOOQ until its dependencies are Jakarta EE 9 compatible
Closes gh-28821
2021-11-30 15:55:48 +00:00
Andy Wilkinson
ba19440f8c Drop support for EhCache 3 until it supports Jakarta EE 9
Closes gh-28800
2021-11-30 15:55:48 +00:00
Andy Wilkinson
a17d6f9791 Drop support for Infinispan until it is Jakarta EE 9 compatible
Closes gh-28799
2021-11-30 15:55:48 +00:00
Scott Frederick
015dca1956 Remove support for Thymeleaf
Closes gh-28611
2021-11-30 15:55:47 +00:00
Andy Wilkinson
22cc9ca6fa Drop support for CommonsMultipartResolver
Closes gh-28782
2021-11-30 15:55:47 +00:00
Andy Wilkinson
6e7f2766c8 Remove support for pooled-jms as it is not JMS 3.0 compatible
Closes gh-28701
2021-11-30 15:55:09 +00:00
Madhura Bhave
c8fd5f0080 Remove support for Artemis
Closes gh-28593
2021-11-30 15:39:56 +00:00
Andy Wilkinson
8bf2ffd93c Drop support for Jersey until jersey-spring6 is available
Closes gh-28808
2021-11-30 15:39:39 +00:00
Scott Frederick
29a21d4621 Remove support for Spring Data Couchbase and Couchbase caching
Fixes gh-28613
2021-11-30 15:39:28 +00:00
Andy Wilkinson
5944041f2a Switch to Yasson for JSON-B testing
Closes gh-28615
2021-11-30 15:39:08 +00:00
Andy Wilkinson
63492507b4 Remove support for Apache ActiveMQ
Closes gh-28591
2021-11-30 15:38:46 +00:00