Update project name to Spring for GraphQL

Closes gh-255
This commit is contained in:
rstoyanchev
2022-01-13 12:15:39 +00:00
parent 10abd919ec
commit 7a7e2e87dc
9 changed files with 34 additions and 33 deletions

View File

@@ -1,7 +1,8 @@
<html lang="en">
<body>
<p>
This is the public API documentation for the <a href="https://spring.io/projects/spring-graphql" target="_top">Spring GraphQL project</a>.
This is the public API documentation for the
<a href="https://spring.io/projects/spring-graphql" target="_top">Spring for GraphQL project</a>.
</p>
</body>
</html>

View File

@@ -1,4 +1,4 @@
= Spring GraphQL Documentation
= Spring for GraphQL Documentation
Brian Clozel; Andreas Marek; Rossen Stoyanchev
include::attributes.adoc[]
@@ -6,12 +6,12 @@ include::attributes.adoc[]
[[overview]]
== Overview
Spring GraphQL provides support for Spring applications built on
Spring for GraphQL provides support for Spring applications built on
https://www.graphql-java.com/[GraphQL Java]. It is a joint collaboration between both
teams. Our shared philosophy is to be less opinionated and more focused on
comprehensive and wide-ranging support.
Spring GraphQL is the successor of the
Spring for GraphQL is the successor of the
https://github.com/graphql-java/graphql-java-spring[GraphQL Java Spring] project from
the GraphQL Java team. It aims to be the foundation for all Spring, GraphQL applications.
@@ -25,7 +25,7 @@ To get started, please see the <<boot-graphql>> and the <<samples>> sections.
[[requirements]]
== Requirements
Spring GraphQL requires the following as a baseline:
Spring for GraphQL requires the following as a baseline:
* JDK8
* Spring Framework 5.3
@@ -37,7 +37,7 @@ Spring GraphQL requires the following as a baseline:
[[web-transports]]
== Web Transports
Spring GraphQL supports GraphQL requests over HTTP and over WebSocket.
Spring for GraphQL supports GraphQL requests over HTTP and over WebSocket.
@@ -62,7 +62,7 @@ bean and using the `RouterFunctions` from Spring MVC or WebFlux to create the ro
Boot starter does this, see <<boot-graphql-web>> for details or check
`GraphQlWebMvcAutoConfiguration` or `GraphQlWebFluxAutoConfiguration` for example config.
The Spring GraphQL repository contains a Spring MVC
The Spring for GraphQL repository contains a Spring MVC
{github-main-branch}/samples/webmvc-http[HTTP sample] application.
@@ -103,7 +103,7 @@ https://github.com/enisdenjo/graphql-ws#recipes[recipes] for client use.
starter has options to enable this, see <<boot-graphql-web>> for details or check
`GraphQlWebMvcAutoConfiguration` or `GraphQlWebFluxAutoConfiguration` for example config.
The Spring GraphQL repository contains a WebFlux
The Spring for GraphQL repository contains a WebFlux
{github-main-branch}/samples/webflux-websocket[WebSocket sample] application.
@@ -166,7 +166,7 @@ see <<boot-graphql-web>> for details, or check `GraphQlWebMvcAutoConfiguration`
[[execution]]
== Request Execution
`GraphQlService` is the main Spring GraphQL abstraction to call GraphQL Java to execute
`GraphQlService` is the main Spring abstraction to call GraphQL Java to execute
requests. Underlying transports, such as the <<web-transports>>, delegate to `GraphQlService` to
handle requests.
@@ -179,7 +179,7 @@ the `graphql.GraphQL` instance.
[[execution-graphqlsource]]
=== `GraphQLSource`
`GraphQlSource` is a core Spring GraphQL abstraction for access to the
`GraphQlSource` is a core Spring abstraction for access to the
`graphql.GraphQL` instance to use for request execution. It provides a builder API to
initialize GraphQL Java and build a `GraphQlSource`.
@@ -213,7 +213,7 @@ You can use `RuntimeWiringConfigurer` to register:
`AnnotatedControllerConfigurer`, which detects annotated, `DataFetcher` handler methods.
The Spring Boot starter adds the `AnnotatedControllerConfigurer` by default.
The Spring GraphQL Boot starter detects beans of type `RuntimeWiringConfigurer`.
The Spring for GraphQL Boot starter detects beans of type `RuntimeWiringConfigurer`.
[[execution-graphqlsource-default-type-resolver]]
@@ -252,7 +252,7 @@ transport layer, such as from a WebFlux request handling, see
[[execution-context]]
=== Context Propagation
Spring GraphQL provides support to transparently propagate context from the <<web-transports>>,
Spring for GraphQL provides support to transparently propagate context from the <<web-transports>>,
through the GraphQL engine, and to `DataFetcher` and other components it invokes.
This includes both `ThreadLocal` context from the Spring MVC request handling thread and
Reactor `Context` from the WebFlux processing pipeline.
@@ -265,7 +265,7 @@ A `DataFetcher` and other components invoked by GraphQL Java may not always exec
the same thread as the Spring MVC handler, for example if an asynchronous
<<web-interception, `WebInterceptor`>> or `DataFetcher` switches to a different thread.
Spring GraphQL supports propagating `ThreadLocal` values from the Servlet container
Spring for GraphQL supports propagating `ThreadLocal` values from the Servlet container
thread to the thread a `DataFetcher` and other components invoked by the GraphQL engine
execute on. To do this, an application needs to create a `ThreadLocalAccessor` to extract
`ThreadLocal` values of interest:
@@ -316,7 +316,7 @@ added by <<web-interception, WebInterceptor>> components.
GraphQL Java applications can register a `DataFetcherExceptionHandler` to decide how to
represent exceptions from the data layer in the "errors" section of the GraphQL response.
Spring GraphQL has a built-in `DataFetcherExceptionHandler` that is configured for use
Spring for GraphQL has a built-in `DataFetcherExceptionHandler` that is configured for use
by the <<execution-graphqlsource>> builder. It enables applications to register one or
more Spring `DataFetcherExceptionResolver` components that are invoked sequentially
until one resolves the `Exception` to a list of `graphql.GraphQLError` objects.
@@ -326,7 +326,7 @@ would be sufficient to extend `DataFetcherExceptionResolverAdapter` and override
one of its `resolveToSingleError` or `resolveToMultipleErrors` methods that
resolve exceptions synchronously.
A `GraphQLError` can be assigned an `graphql.ErrorClassification`. Spring GraphQL
A `GraphQLError` can be assigned an `graphql.ErrorClassification`. Spring for GraphQL
defines an `ErrorType` enum with common, error classification categories:
- `BAD_REQUEST`
@@ -365,7 +365,7 @@ defers until it is ready to batch load all related entities as one.
- `DataLoader` additionally maintains a cache of previously loaded entities that can
further improve efficiency when the same entity is in multiple places of the response.
Spring GraphQL provides:
Spring for GraphQL provides:
- `BatchLoaderRegistry` that accepts and stores registrations of batch loading functions;
This is used in `ExecutionGraphQlService` to make `DataLoader` registrations per request.
@@ -389,7 +389,7 @@ functions for entities.
[[data-querydsl]]
=== Querydsl
Spring GraphQL supports use of http://www.querydsl.com/[Querydsl] to fetch data through
Spring for GraphQL supports use of http://www.querydsl.com/[Querydsl] to fetch data through
the Spring Data
https://docs.spring.io/spring-data/commons/docs/current/reference/html/#core.extensions[Querydsl extension].
Querydsl provides a flexible yet typesafe approach to express query predicates by
@@ -612,7 +612,7 @@ detects `@GraphQlRepository` beans and applies the `GraphQLTypeVisitor`.
[[controllers]]
== Annotated Controllers
Spring GraphQL provides an annotation-based programming model where `@Controller`
Spring for GraphQL provides an annotation-based programming model where `@Controller`
components use annotations to declare handler methods with flexible method signatures to
fetch the data for specific GraphQL fields. For example:
@@ -631,7 +631,7 @@ fetch the data for specific GraphQL fields. For example:
<1> Bind this method to a query, i.e. a field under the Query type.
<2> Determine the query from the method name if not declared on the annotation.
Spring GraphQL uses `RuntimeWiring.Builder` to register the above handler method as a
Spring for GraphQL uses `RuntimeWiring.Builder` to register the above handler method as a
`graphql.schema.DataFetcher` for the query named "hello".
@@ -1113,7 +1113,7 @@ To apply more fine-grained security, add Spring Security annotations such as
the GraphQL response. This should work due to <<execution-context>> that aims to make
Security, and other context, available at the data fetching level.
The Spring GraphQL repository contains samples for
The Spring for GraphQL repository contains samples for
{github-main-branch}/samples/webmvc-http-security[Spring MVC] and for
{github-main-branch}/samples/webflux-security[WebFlux].
@@ -1130,7 +1130,7 @@ include::testing.adoc[leveloffset=+1]
[[samples]]
== Samples
This Spring GraphQL repository contains {github-main-branch}/samples[sample applications] for
This Spring for GraphQL repository contains {github-main-branch}/samples[sample applications] for
various scenarios.
You can run those by cloning this repository and running main application classes from

View File

@@ -317,5 +317,5 @@ To test with the <<index#web-interception>> chain, you can create `WebGraphQlTes
WebGraphQlTester graphQlTester = WebGraphQlTester.builder(handler).build();
----
Currently, Spring GraphQL does not support testing with a WebSocket client, and it
Currently, Spring for GraphQL does not support testing with a WebSocket client, and it
cannot be used for integration test of GraphQL over WebSocket requests.