JSONRequest


CLASS

JSONRequest

Swift
1open class JSONRequest<Operation: GraphQLOperation>: HTTPRequest<Operation>

A request which sends JSON related to a GraphQL operation.

Properties

requestBodyCreator

Swift
1public let requestBodyCreator: RequestBodyCreator

autoPersistQueries

Swift
1public let autoPersistQueries: Bool

useGETForQueries

Swift
1public let useGETForQueries: Bool

useGETForPersistedQueryRetry

Swift
1public let useGETForPersistedQueryRetry: Bool

isPersistedQueryRetry

Swift
1public var isPersistedQueryRetry = false

body

Swift
1public var body: JSONEncodableDictionary

serializationFormat

Swift
1public let serializationFormat = JSONSerializationFormat.self

Methods

init(operation:graphQLEndpoint:contextIdentifier:clientName:clientVersion:additionalHeaders:cachePolicy:autoPersistQueries:useGETForQueries:useGETForPersistedQueryRetry:requestBodyCreator:)

Swift
1public init(
2  operation: Operation,
3  graphQLEndpoint: URL,
4  contextIdentifier: UUID? = nil,
5  clientName: String,
6  clientVersion: String,
7  additionalHeaders: [String: String] = [:],
8  cachePolicy: CachePolicy = .default,
9  autoPersistQueries: Bool = false,
10  useGETForQueries: Bool = false,
11  useGETForPersistedQueryRetry: Bool = false,
12  requestBodyCreator: RequestBodyCreator = ApolloRequestBodyCreator()
13)

Designated initializer

  • Parameters:

    • operation: The GraphQL Operation to execute

    • graphQLEndpoint: The endpoint to make a GraphQL request to

    • contextIdentifier: [optional] A unique identifier for this request, to help with deduping cache hits for watchers. Defaults to nil.

    • clientName: The name of the client to send with the "apollographql-client-name" header

    • clientVersion: The version of the client to send with the "apollographql-client-version" header

    • additionalHeaders: Any additional headers you wish to add by default to this request

    • cachePolicy: The CachePolicy to use for this request.

    • autoPersistQueries: true if Auto-Persisted Queries should be used. Defaults to false.

    • useGETForQueries: true if Queries should use GET instead of POST for HTTP requests. Defaults to false.

    • useGETForPersistedQueryRetry: true if when an Auto-Persisted query is retried, it should use GET instead of POST to send the query. Defaults to false.

    • requestBodyCreator: An object conforming to the RequestBodyCreator protocol to assist with creating the request body. Defaults to the provided ApolloRequestBodyCreator implementation.

Parameters

NameDescription
operationThe GraphQL Operation to execute
graphQLEndpointThe endpoint to make a GraphQL request to
contextIdentifier[optional] A unique identifier for this request, to help with deduping cache hits for watchers. Defaults to nil.
clientNameThe name of the client to send with the "apollographql-client-name" header
clientVersionThe version of the client to send with the "apollographql-client-version" header
additionalHeadersAny additional headers you wish to add by default to this request
cachePolicyThe CachePolicy to use for this request.
autoPersistQueriestrue if Auto-Persisted Queries should be used. Defaults to false.
useGETForQueriestrue if Queries should use GET instead of POST for HTTP requests. Defaults to false.
useGETForPersistedQueryRetrytrue if when an Auto-Persisted query is retried, it should use GET instead of POST to send the query. Defaults to false.
requestBodyCreatorAn object conforming to the RequestBodyCreator protocol to assist with creating the request body. Defaults to the provided ApolloRequestBodyCreator implementation.

toURLRequest()

Swift
1open override func toURLRequest() throws -> URLRequest

==(_:_:)

Swift
1public static func == (lhs: JSONRequest<Operation>, rhs: JSONRequest<Operation>) -> Bool

hash(into:)

Swift
1public override func hash(into hasher: inout Hasher)
Feedback

Edit on GitHub

Forums