Package graphql

Class ParseAndValidate

java.lang.Object
graphql.ParseAndValidate

@PublicApi public class ParseAndValidate extends Object
This class allows you to parse and validate a graphql query without executing it. It will tell you if it's syntactically valid and also semantically valid according to the graphql specification and the provided schema.
  • Field Details

    • INTERNAL_VALIDATION_PREDICATE_HINT

      public static final String INTERNAL_VALIDATION_PREDICATE_HINT
      This GraphQLContext hint can be used to supply a Predicate to the Validator so that certain rules can be skipped. This is an internal capability that you should use at your own risk. While we intend for this to be present for some time, the validation rule class names may change, as may this mechanism.
      See Also:
  • Constructor Details

    • ParseAndValidate

      public ParseAndValidate()
  • Method Details

    • parseAndValidate

      public static ParseAndValidateResult parseAndValidate(@NonNull GraphQLSchema graphQLSchema, @NonNull ExecutionInput executionInput)
      This can be called to parse and validate a graphql query against a schema, which is useful if you want to know if it would be acceptable for execution.
      Parameters:
      graphQLSchema - the schema to validate against
      executionInput - the execution input containing the query
      Returns:
      a result object that indicates how this operation went
    • parse

      public static ParseAndValidateResult parse(@NonNull ExecutionInput executionInput)
      This can be called to parse (but not validate) a graphql query.
      Parameters:
      executionInput - the input containing the query
      Returns:
      a result object that indicates how this operation went
    • validate

      public static List<ValidationError> validate(@NonNull GraphQLSchema graphQLSchema, @NonNull Document parsedDocument, @NonNull Locale locale)
      This can be called to validate a parsed graphql query.
      Parameters:
      graphQLSchema - the graphql schema to validate against
      parsedDocument - the previously parsed document
      locale - the current locale
      Returns:
      a result object that indicates how this operation went
    • validate

      public static List<ValidationError> validate(@NonNull GraphQLSchema graphQLSchema, @NonNull Document parsedDocument)
      This can be called to validate a parsed graphql query, with the JVM default locale.
      Parameters:
      graphQLSchema - the graphql schema to validate against
      parsedDocument - the previously parsed document
      Returns:
      a result object that indicates how this operation went
    • validate

      public static List<ValidationError> validate(@NonNull GraphQLSchema graphQLSchema, @NonNull Document parsedDocument, @NonNull Predicate<Class<?>> rulePredicate, @NonNull Locale locale)
      This can be called to validate a parsed graphql query.
      Parameters:
      graphQLSchema - the graphql schema to validate against
      parsedDocument - the previously parsed document
      rulePredicate - this predicate is used to decide what validation rules will be applied
      locale - the current locale
      Returns:
      a result object that indicates how this operation went
    • validate

      public static List<ValidationError> validate(@NonNull GraphQLSchema graphQLSchema, @NonNull Document parsedDocument, @NonNull Predicate<Class<?>> rulePredicate)
      This can be called to validate a parsed graphql query, with the JVM default locale.
      Parameters:
      graphQLSchema - the graphql schema to validate against
      parsedDocument - the previously parsed document
      rulePredicate - this predicate is used to decide what validation rules will be applied
      Returns:
      a result object that indicates how this operation went