GraphQL Java - Data Mapping

映射数据

GraphQL将数据映射到相应类型上

GraphQL的核心思想,就是声明一种类型schema,并将它映射到运行时产生的数据上。

设计这些类型时,要充分考虑到类型与相应数据的映射方式。

例如,假设我们有如下类型:

    type Query {
        products(match : String) : [Product]   # a list of products
    }

    type Product {
        id : ID
        name : String
        description : String
        cost : Float
        tax : Float
    }

可以在这个简单的schema上执行一些简单的查询:

    query ProductQuery {
        products(match : "Paper*")
        {
            id, name, cost, tax
        }
    }

然后,在Java代码中需要为Query.products字段绑定DataFetcher,以通过传入的参数获取product列表。

假设我们有三个下游服务: 一个获取产品信息,一个获取产品成本信息,一个获取产品税信息。

GraphQL - Java会在运行时调用dataFetcher获取对象的数据,并将其映射为schema中定义的类型。

在这个场景下,主要问题是:如何将三种不同来源的数据汇集为一个单一的类型数据。

一种方式是,在cost和tax字段上添加dataFe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值