【问题标题】:Can't place GraphQL custom type as a Postman variable无法将 GraphQL 自定义类型作为 Postman 变量
【发布时间】:2021-11-21 03:00:48
【问题描述】:

有没有人幸运地将 GraphQL 自定义类型参数作为 Postman 或 Graphql 变量?我现在有点绕圈子,我希望一双新的眼睛能指引我正确的方向。 我想要做的是使用 Postman 发送一个突变请求。我遇到的问题是我正在调用的方法将自定义类型作为参数。将该变量的内容放置为 GraphQL 变量或 Postman 变量让我很头疼。我还不能嵌入图片,所以这里是链接(它们是安全的)。

Schema

此自定义类型是一个类似 JSON 的结构,由两个枚举和一组原始类型(字符串、整数...)组成。我可以截图整个事情,但基本上就是这样:两个枚举,后跟字符串,整数...... Custom type definition

到目前为止我已经尝试过:

  • 只需在 Postman 中对请求进行硬编码即可,但我希望发送具有不同数据的多个请求
  • 将其放在 GraphQL 变量中会导致错误消息

{ “错误”:[ { "message": "错误请求 - 请求正文无效。", “地点”:[] } ], “数据”:空 }

  • 将自定义类型内容作为 Postman 环境变量放置是可行的,但出现语法错误(尽管请求通过了...)。 请求正文如下。对其进行硬编码并使用 Postman 变量会产生相同的请求正文,但会出现语法错误。
query: "mutation {
  createApplication(request: { 
    applicationKind: NEW_ISSUANCE,
    documentKind: REGULAR_PASSPORT,
    personalData: {
        timestamp: null,
        firstname: "NAME",
        lastname: "LASTNAME",
        middlename: "MIDDLENAME",
        dateOfBirth: "2011-09-28",
        citizenshipCountryCode: "USA",
        gender: MALE,
        personalNumber: "3344",
        placeOfBirth: "CHICAGO",
        municipalityOfBirth: "SOUTH",
        countryCodeOfBirth: "USA"},
    addressData:{
        street: "WEST",
        municipality: "EAST",
        place: "CHICAGO",
          country: {
            code: "USA",
            name: null
          },
        entrance: "б",
        flat: "13",
        number: "35"}
}) 
    {
    __typename
    ... on AsyncTaskStatus {
      taskID
      state
      payload {
        ... on ApplicationUpdated {
          applicationID
          applicationNumber
          __typename
        }
        __typename
      }
      __typename
    }
    ... on Error {
      ...errorData
      __typename
    }
  }
}

fragment errorData on Error {
  __typename
  code
  message
}"

Postman variable with a squiggly line

我现在在转圈。有没有人对这种邮递员的要求有任何运气? 我可以发布更多信息,屏幕截图......让我知道。我会密切关注这个话题并提供反馈。

感谢您的宝贵时间。

【问题讨论】:

  • 如果你将鼠标悬停在邮递员上会出现什么错误
  • 嗨。它是“语法错误:预期名称,找到 {”
  • 你能把邮递员的正文粘贴到问题中吗
  • 我已经用请求正文更新了问题。

标签: post graphql postman graphql-mutation


【解决方案1】:

请在变量部分添加一个变量为:

{
"request": {{request}}
}

然后在您的查询中将其引用为

$request

【讨论】:

  • 嗨。我试过了。导致 ` "errors": [ { "message": "Bad request - invalid request body.", "locations": [] } ], "data": null` 整个请求是一个以 { 开头并完成的变量与 }
  • 然后尝试 json 数据原始正文类型
  • 我必须将标头中的 Content-type 更改为 application/graphql 并将正文类型更改为 raw 并且它可以工作!谢谢。为什么不解析GraphQL body 类型中的GraphQL 变量超出了我的范围...
猜你喜欢
  • 2020-01-12
  • 2017-09-18
  • 2019-10-19
  • 2019-01-11
  • 2018-02-22
  • 2019-10-12
  • 1970-01-01
  • 2019-05-14
  • 2020-11-19
相关资源
最近更新 更多