Spring Data repositories that support Querydsl
Spring Data repositories that support Querydsl are now supported as DataFetchers returning single objects and iterables including projection support. See gh-59
This commit is contained in:
committed by
Rossen Stoyanchev
parent
ab99dc2892
commit
2d53fdc73f
@@ -1,7 +1,8 @@
|
||||
package io.spring.sample.graphql.repository;
|
||||
|
||||
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface ArtifactRepositories extends CrudRepository<ArtifactRepository, String> {
|
||||
public interface ArtifactRepositories extends CrudRepository<ArtifactRepository, String>, QuerydslPredicateExecutor<ArtifactRepository> {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package io.spring.sample.graphql.repository;
|
||||
|
||||
import graphql.schema.idl.RuntimeWiring;
|
||||
|
||||
import org.springframework.graphql.boot.RuntimeWiringCustomizer;
|
||||
import org.springframework.graphql.data.QuerydslDataFetcher;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@@ -16,8 +18,10 @@ public class ArtifactRepositoryDataWiring implements RuntimeWiringCustomizer {
|
||||
@Override
|
||||
public void customize(RuntimeWiring.Builder builder) {
|
||||
builder.type("Query",
|
||||
typeWiring -> typeWiring.dataFetcher("artifactRepositories", env -> this.repositories.findAll())
|
||||
.dataFetcher("artifactRepository", env -> this.repositories.findById(env.getArgument("id"))));
|
||||
typeWiring -> typeWiring.dataFetcher("artifactRepositories", QuerydslDataFetcher
|
||||
.builder(repositories).many())
|
||||
.dataFetcher("artifactRepository", QuerydslDataFetcher
|
||||
.builder(repositories).single()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user