使用GraphQL-Java实现数据库连接

时间:2017-03-07 08:38:02

标签: graphql graphql-java

如何使用GraphQL-Java实现将任何数据库与GraphQL Application连接?将采用示范方法。

2 个答案:

答案 0 :(得分:2)

有几种可能的解决方案:

A)使用数据对象调用GraphQL查询:

Foo data = perhapsFromDatabase();
ExecutionResult executionResult = schemaFactory.getGraphQL().execute(query, data, variables);

如果数据有一个方法getTitle(),您可以直接在GraphQL查询中查询该属性。

B)使用DataFetcher:

来自GraphQL docs的示例代码:

  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();

答案 1 :(得分:0)

这是我最喜欢的GraphQL,它是一个概念,比如REST。所以它独立于技术。我使用 gradle,spring-jpa,spring-boot和mongo-db 创建了一个micro-blogging应用程序。

PS:我还附加了postman API调用,以便于测试。