Java-API操作GraphQL

GraphQL可以通过Java的API来实现数据的查询,通过特定的SDL查询语句,获取特定的查询数据。相当于后端作为提供数据源的"数据库",前端根据定义的SDL语句查询需要的数据,将查询数据的控制权交给前端,提高后端接口的通用性和灵活性

引入依赖
  • pom.xml引入依赖

    <dependency>
        <groupId>com.graphql-java</groupId>
        <artifactId>graphql-java</artifactId>
        <version>11.0</version>
    </dependency>
    

    需要配置第三方的maven仓库才可以下载这个jar包,要不然从中央仓库无法下载。

    但是没有配置好像也可以下载,可以尝试一下

    官方网站,在快速开始中有需要配置的仓库www.graphql-java.com

Java中使用GraphQL的API

根据定义的简单查询语法通过Java的API查询数据,查询规范的语句和参考这篇文章GraphQL查询规范

  • 无参数简单查询

    通过定义的查询格式,通过GraphQL对象实现查询,需要先构建响应的数据对象和构建响应的数据

    /**
     * 简单展示 GraphQL的查询,以及通过JavaAPI响应数据
     */
    public class GraphQLSimpleDemo {
         
    
    
        public static void main(String[] args) {
         
            // 定义数据响应对象
            GraphQLObjectType userType = createGraphQLObjectType();
            // 根据定义的数据响应对象构建响应的数据
            GraphQLFieldDefinition userDefinition = createGraphQLFieldDefinition(userType);
            // 创建查询响应
            GraphQLSchema graphQLSchema = createGraphQLSchema(userDefinition);
            GraphQL graphQL = GraphQL.newGraphQL(graphQLSchema).build();
    
            // 查询语句
            String graph1 = "{User{id, name}}";
            // 查询多个字段
            String graph2 = "{User{id, name, age}}";
    
            // 执行查询
            ExecutionResult execute = graphQL.execute(graph1);
            // 获取结果
            System.out.println(execute.toSpecification()
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值