首页 > 解决方案 > Mule4# 有效的 DWL 来格式化 graphQL 请求

问题描述

我想消费graphQl API。我知道我们需要使用 http 请求者来调用 graphQl。我需要一些关于使用 dwl 形成突变请求的信息。我试图在 下面使用此服务https://www.predic8.de/fruit-shop-graphql

%dw2.0
outputapplication/json
---
{
  "query": "mutation(\$input:addCategoryInput!) { addCategory(input:\$input) { name products { name}} }",
  "variables": {
    "input": {
      "id": 6,
      "name": "Green Fruits",
      "products": 8
    }
  }
}

它抛出了错误的请求但是在下面使用时

%dw 2.0
output application/json
---
{
  "query": "mutation {  addCategory(id: 6, name: \"Green Fruits\", products: 8) {    name    products {      name    }  }}"
}

它的工作。我想使用上述格式。都是无效请求。请分享您的知识或指导我到正确的博客进行参考。

标签: graphqldataweavemule4

解决方案


output application/json
---
{
  query: "mutation(\$id:Int!,\$name:String!,\$products:[Int]!) { addCategory(id:\$id, name:\$name, products:\$products) { name products { name } } }",
  variables: {
    id: 6,
    name: "Green Fruits",
    products: [8]
  }
}

您的问题似乎更多地与您的 GraphQL 有关。产品在架构中定义[Int]!,您需要传入单独的参数 - 我addCategoryInput在架构中的任何地方都没有看到定义,并且addCategory期待单独的参数。


推荐阅读