Как связать любую базу данных с приложением GraphQL, используя реализацию GraphQL-Java? Демонстративный подход приветствуется.
Подключение к базе данных с помощью GraphQL-Java
Ответы (2)
Есть несколько возможных решений:
A) Вызовите запрос GraphQL с объектом данных:
Foo data = perhapsFromDatabase();
ExecutionResult executionResult = schemaFactory.getGraphQL().execute(query, data, variables);
Если у данных есть метод getTitle(), вы можете запросить этот атрибут непосредственно в запросе GraphQL.
Б) Используйте DataFetcher:
Пример кода из документов GraphQL:
DataFetcher<Foo> fooDataFetcher = new DataFetcher<Foo>() {
@Override
public Foo get(DataFetchingEnvironment environment) {
// environment.getSource() is the value of the surrounding
// object. In this case described by objectType
Foo value = perhapsFromDatabase(); // Perhaps getting from a DB or whatever
return value;
}
};
GraphQLObjectType objectType = newObject()
.name("ObjectType")
.field(newFieldDefinition()
.name("foo")
.type(GraphQLString)
.dataFetcher(fooDataFetcher))
.build();
person
Matthias M
schedule
12.03.2017
Это то, что мне больше всего понравилось в GraphQL, это концепция, как и REST. Так что это не зависит от технологии. Я создал приложение микроблогов, используя gradle, spring-jpa, spring-boot и mongo-db.
PS: я также прикрепил вызовы API postman, чтобы упростить тестирование.
person
thekosmix
schedule
29.12.2017