在GraphQL响应中禁止重复

时间:2017-10-31 05:59:48

标签: graphql

如何在请求结果中合并重复的行。我提出了最近200本书的请求,结果我有双打。结果如下:

{
    "data": {
        "view_book": [
            {
                "views": 4,
                "book": {
                    "id": "26910093",
                    "title": "Book name 1",
                }
            },
            {
                "views": 7,
                "book": {
                    "id": "26910093",
                    "title": "Book name 1",
                }
            },
        ]
    }
}

那么,是否可以使用GraphQL将这两行抑制为一个?

2 个答案:

答案 0 :(得分:2)

我一直在寻找相同的东西。我认为GraphQL规范中没有什么可以解决您的问题。但是,我遇到了两个有趣的库,它们试图通过减少节点数量加倍/标准化响应来解决此问题

此处介绍了该技术:Reducing GraphQL response Medium

库是:

注意:我都没用过

答案 1 :(得分:0)

不幸的是,答案可能是,但您不应该这样做。无论您的API是什么,GraphQL都应该保持实现,并且如果您的数据返回重复项,则GraphQL最好也返回它。如果您有重复项,则应在业务逻辑层中对其进行过滤,然后再将其交给GraphQL解析器。