知海

Java:graphql-calculator(服务端)

graphql-github-io-zh-Hans生态项目与库

Java:graphql-calculator(服务端)

GraphQL Calculator 是一个轻量级的 GraphQL 计算引擎,用于改变 GraphQL 查询的执行行为。

使用示例

以下是一些在 GraphQL 查询中使用 GraphQL Calculator 的示例:

1. 基础映射值(@map)

graphql 复制代码
query basicMapValue($userIds:[Int]){
    userInfoList(userIds:$userIds)
    {
        id
        age
        firstName
        lastName
        fullName: stringHolder @map(mapper: "firstName + lastName")
    }
}

2. 按年龄过滤用户(@filter)

graphql 复制代码
query filterUserByAge($userId:[Int]){
    userInfoList(userIds: $userId)
    @filter(predicate: "age>=18")
    {
        userId
        age
        firstName
        lastName
    }
}

3. 将获取的值转换并映射为另一字段的参数(@fetchSource + @argumentTransform)

graphql 复制代码
query parseFetchedValueToAnotherFieldArgumentMap($itemIds:[Int]){
        itemList(itemIds: $itemIds){
            # 将 sellerId 以唯一名称 "sellerIdList" 保存为 List<Long>
            sellerId @fetchSource(name: "sellerIdList")
            name
            saleAmount
            salePrice
        }
        userInfoList(userIds: 1)
        # 根据表达式 "sellerIdList" 和表达式参数转换 "userInfoList" 中名为 "userIds" 的参数,
        # 即用名为 "sellerIdList" 的 source 替换 userIds 的值
        @argumentTransform(argumentName: "userIds", 
            operateType: MAP, 
            expression: "sellerIdList", 
            dependencySources: ["sellerIdList"]
        ){
            userId
            name
            age
        }
}

更多信息

更多信息请参阅 graphql-calculator README

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。