从Mule 4中使用graphQL API

从Mule 4中使用graphQL API,graphql,dataweave,mule4,Graphql,Dataweave,Mule4,我想了解消费者图形QLAPI。 我知道我们需要使用http请求程序来调用graphQl。 我需要一些关于使用dwl生成变异请求的信息。 我想打这个发球 下面使用 %dw2.0 outputapplication/json --- { "query": "mutation(\$input:addCategoryInput!) { addCategory(input:\$input) { name products { name}} }", "

我想了解消费者图形QLAPI。 我知道我们需要使用http请求程序来调用graphQl。 我需要一些关于使用dwl生成变异请求的信息。 我想打这个发球 下面使用

%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    }  }}"
}
这是一个糟糕的要求 但在下面使用时

%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    }  }}"
}
它起作用了。 我想用上面的格式。这两个请求都无效。 请与我分享您的知识或引导我访问正确的博客。

由于GraphQL目前不是一个字符串,您必须自己将查询作为字符串编写。但是,您可以使用DataWeave为查询创建POST请求的主体

例如:

%dw 2.0
output application/json
---
{
    "query": "mutation(\$schedule:PipelineScheduleCreateInput!) { pipelineScheduleCreate(input:\$schedule) { pipelineScheduleEdge { node { label nextBuildAt cronline } } } }",
    "variables": {
      "schedule": {
        "pipelineID": "UGlwZWxpbmUtLS02MzliNWJjOC0wMGZmLT",
        "cronline": "@midnight",
        "label": "Nightly build"
      }
    }
}

我根据你的回答更新了问题。请回答