-
Notifications
You must be signed in to change notification settings - Fork 50
Home
Etienne edited this page Mar 12, 2021
·
55 revisions
FAQ (for both client and server mode)
Creating a first app (non spring)
Access to an OAuth2 GraphQL server
How to personalize the client app
Implement an OAuth2 GraphQL server
Howto personalize the generated code
package com.graphql_java_generator.samples.forum.server.specific_code;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import javax.annotation.Resource;
import org.dataloader.DataLoader;
import org.springframework.stereotype.Component;
import com.graphql_java_generator.samples.forum.server.GraphQLUtil;
import com.graphql_java_generator.samples.forum.server.Member;
import com.graphql_java_generator.samples.forum.server.Post;
import com.graphql_java_generator.samples.forum.server.Topic;
import com.graphql_java_generator.samples.forum.server.TopicDataFetchersDelegate;
import com.graphql_java_generator.samples.forum.server.jpa.MemberRepository;
import com.graphql_java_generator.samples.forum.server.jpa.PostRepository;
import com.graphql_java_generator.samples.forum.server.jpa.TopicRepository;
import graphql.schema.DataFetchingEnvironment;
@Component
public class DataFetchersDelegateTopicImpl implements DataFetchersDelegateTopic {
@Resource
MemberRepository memberRepository;
@Resource
PostRepository postRepository;
@Resource
TopicRepository topicRepository;
@Resource
GraphQLUtil graphQLUtil;
@Override
public CompletableFuture<Member> author(DataFetchingEnvironment dataFetchingEnvironment,
DataLoader<UUID, Member> dataLoader, Topic source) {
return dataLoader.load(source.getAuthorId());
}
@Override
public List<Post> posts(DataFetchingEnvironment dataFetchingEnvironment, Topic source, String since) {
if (since == null)
return graphQLUtil.iterableToList(postRepository.findByTopicId(source.getId()));
else
return graphQLUtil.iterableToList(postRepository.findByTopicIdAndSince(source.getId(), since));
}
@Override
public List<Topic> batchLoader(List<UUID> keys) {
return topicRepository.findByIds(keys);
}
}
Creating a first app (non spring)
Connect to more than one GraphQL servers
Easily execute GraphQL requests with GraphQL Repositories
Access to an OAuth2 GraphQL server
How to personalize the client app
Howto personalize the generated code
Client migration from 1.x to 2.x
Implement an OAuth2 GraphQL server
Howto personalize the generated code
Server migration from 1.x to 2.x