Class AbstractGraphQlHttpHandler
java.lang.Object
org.springframework.graphql.server.webmvc.AbstractGraphQlHttpHandler
- Direct Known Subclasses:
GraphQlHttpHandler,GraphQlSseHandler
Abstract base class for GraphQL over HTTP handlers.
- Since:
- 1.3.0
- Author:
- Brian Clozel, Rossen Stoyanchev
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractGraphQlHttpHandler(WebGraphQlHandler graphQlHandler, @Nullable HttpMessageConverter<?> messageConverter) -
Method Summary
Modifier and TypeMethodDescriptionprotected static @Nullable OperationNotAllowedExceptionfindRejection(WebGraphQlResponse response) Find anOperationNotAllowedExceptionrejection in the response errors, if any.protected abstract Set<graphql.language.OperationDefinition.Operation> Return the GraphQL operation types that this handler supports, regardless of the semantics of any particular request.getWriteFunction(ServerRequest request, Map<String, Object> resultMap, MediaType contentType) Exposes aServerResponse.HeadersBuilder.WriteFunctionthat writes the GraphQL response as JSON using a custom message converter, or one that is available in the configured message converters.handleRequest(ServerRequest request) Handle GraphQL over HTTP requests.protected abstract ServerResponseprepareResponse(ServerRequest request, reactor.core.publisher.Mono<WebGraphQlResponse> responseMono) Prepare theServerResponsefor the given GraphQL response.
-
Field Details
-
logger
protected final org.apache.commons.logging.Log logger
-
-
Constructor Details
-
AbstractGraphQlHttpHandler
protected AbstractGraphQlHttpHandler(WebGraphQlHandler graphQlHandler, @Nullable HttpMessageConverter<?> messageConverter)
-
-
Method Details
-
prepareResponse
protected abstract ServerResponse prepareResponse(ServerRequest request, reactor.core.publisher.Mono<WebGraphQlResponse> responseMono) throws jakarta.servlet.ServletException Prepare theServerResponsefor the given GraphQL response.- Parameters:
request- the current requestresponseMono- the GraphQL response- Returns:
- the server response
- Throws:
jakarta.servlet.ServletException
-
getSupportedOperations
Return the GraphQL operation types that this handler supports, regardless of the semantics of any particular request.- Since:
- 2.1.0
-
handleRequest
Handle GraphQL over HTTP requests.- Parameters:
request- the current request- Returns:
- the resulting response
- Throws:
jakarta.servlet.ServletException- may be raised when reading the request body, e.g.HttpMediaTypeNotSupportedException.
-
getWriteFunction
protected ServerResponse.HeadersBuilder.WriteFunction getWriteFunction(ServerRequest request, Map<String, Object> resultMap, MediaType contentType) Exposes aServerResponse.HeadersBuilder.WriteFunctionthat writes the GraphQL response as JSON using a custom message converter, or one that is available in the configured message converters.- Parameters:
request- the server requestresultMap- the result map to writecontentType- to set the response content type to- Returns:
- the write function
-
findRejection
Find anOperationNotAllowedExceptionrejection in the response errors, if any.Must be called on the
WebGraphQlResponsebefore it is serialized.- Parameters:
response- the GraphQL response- Since:
- 2.1.0
-