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 Detail

      • 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(String, String, String)
      • 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