Class QuerydslDataFetcher.Builder<T,R>

java.lang.Object
org.springframework.graphql.data.query.QuerydslDataFetcher.Builder<T,R>
Type Parameters:
T - domain type
R - result type
Enclosing class:
QuerydslDataFetcher<T>

public static class QuerydslDataFetcher.Builder<T,R> extends Object
Builder for a Querydsl-based DataFetcher. Note that builder instances are immutable and return a new instance of the builder when calling configuration methods.
  • Method Details

    • projectAs

      public <P> QuerydslDataFetcher.Builder<T,P> projectAs(Class<P> projectionType)
      Project results returned from the QuerydslPredicateExecutor into the target projectionType. Projection types can be either interfaces with property getters to expose or regular classes outside the entity type hierarchy for DTO projections.
      Parameters:
      projectionType - projection type
      Returns:
      a new QuerydslDataFetcher.Builder instance with all previously configured options and projectionType applied
    • sortBy

      public QuerydslDataFetcher.Builder<T,R> sortBy(org.springframework.data.domain.Sort sort)
      Apply a Sort order.
      Parameters:
      sort - the default sort order
      Returns:
      a new QuerydslDataFetcher.Builder instance with all previously configured options and Sort applied
    • customizer

      public QuerydslDataFetcher.Builder<T,R> customizer(org.springframework.data.querydsl.binding.QuerydslBinderCustomizer<? extends com.querydsl.core.types.EntityPath<T>> customizer)
      Apply a QuerydslBinderCustomizer.

      If a Querydsl repository implements QuerydslBinderCustomizer itself, this is automatically detected and applied during auto-registration. For manual registration, you will need to use this method to apply it.

      Parameters:
      customizer - to customize the binding of the GraphQL request to Querydsl Predicate
      Returns:
      a new QuerydslDataFetcher.Builder instance with all previously configured options and QuerydslBinderCustomizer applied
    • single

      public DataFetcher<R> single()
      Build a DataFetcher to fetch single object instances.
    • many

      public DataFetcher<Iterable<R>> many()
      Build a DataFetcher to fetch many object instances.