如何简化graphql响应

时间:2019-01-18 09:45:50

标签: graphql

例如,我的graphql的查询是:

products {
  name,
  price,
  brand {
    name
  }
}

哪个会产生以下响应:

{
  "data": {
    "products": [
      {
        "name": "Black Dress",
        "price": 520,
        "brand": {
          "name": "Coach"
        }
      }
    ]
  }
}

可以

"brand": {
  "name": "Coach"
}

可以简化为这种方式吗?

"brandName": "Coach"

1 个答案:

答案 0 :(得分:0)

当前,没有任何其他依赖关系,并且如果您不想更新架构,那么如果您想控制graphql-leveler可以实现的形状,就无法控制GraphQL返回的对象的形状。

graphql-leveler将提供一个方法调用_get,您可以通过该方法来管理对象的形状,而方法很简单:

{
    brandName: _get(products: 'brand.name')
}

注意:要使用graphql-leveler,只需将graphql-leveler添加到您的依赖项中,需要LevelerObjectType,然后使用它而不是GraphQLObjectType。完成!