Interface GraphQLCacheProvider


@ProviderType public interface GraphQLCacheProvider
A GraphQLCacheProvider is responsible for caching GraphQL queries, in order to provide support for persisted queries for the GraphQLServlet.
  • Method Summary

    Modifier and Type
    Method
    Description
    @Nullable String
    cacheQuery(@NotNull String query, @NotNull String resourceType, @Nullable String selectorString)
    Stores the query into the cache, potentially overriding a previous value.
    @Nullable String
    getQuery(@NotNull String hash, @NotNull String resourceType, @Nullable String selectorString)
    Attempts to retrieve a previously persisted query from the cache.
  • Method Details

    • getQuery

      @Nullable @Nullable String getQuery(@NotNull @NotNull String hash, @NotNull @NotNull String resourceType, @Nullable @Nullable String selectorString)
      Attempts to retrieve a previously persisted query from the cache.
      Parameters:
      hash - the query's SHA-256 hash
      resourceType - the resource type of the GraphQLServlet which will execute the query, since multiple servlets can be registered
      selectorString - the selector string with which the GraphQLServlet is registered
      Returns:
      the query, if found, null otherwise
      See Also:
    • cacheQuery

      @Nullable @Nullable String cacheQuery(@NotNull @NotNull String query, @NotNull @NotNull String resourceType, @Nullable @Nullable String selectorString)
      Stores the query into the cache, potentially overriding a previous value. The method will return the query's SHA-256 hash if the persisting operation was successful. If not, a null value must be returned.
      Parameters:
      query - the GraphQL query
      resourceType - the resource type of the GraphQLServlet which will execute the query, since multiple servlets can be registered
      selectorString - the selector string with which the GraphQLServlet is registered
      Returns:
      the query's SHA-256 hash, if the query was successfully cached; null if the query could not be cached