在graphQL中将对象数组作为查询变量提交

在graphQL中将对象数组作为查询变量提交,graphql,graphql-js,Graphql,Graphql Js,当其中一个字段是对象数组时,如何构造graphQL变体的查询参数?当我硬编码变异时,这是有效的且有效的: mutation{ submitResponse(user: "1234", responses: [{ answerId: "wmtBCWtkSeDs5meBe", selected: false}, { answerId: "wmtBCWtkSeDs5meBz", selected: true}]) { id } } 我一辈子都不知道如何为对象的responses数组传

当其中一个字段是对象数组时,如何构造graphQL变体的查询参数?当我硬编码变异时,这是有效的且有效的:

mutation{
  submitResponse(user: "1234", responses: [{ answerId: "wmtBCWtkSeDs5meBe", selected: false}, { answerId: "wmtBCWtkSeDs5meBz", selected: true}]) {
    id
  }
}
我一辈子都不知道如何为对象的responses数组传递查询参数。如何定义对象中每个字段的类型。这就是它想要的用户id,工作正常,但我无法理解其中的响应部分

mutation submitResponse($user: ID!){
  submitResponse(user: $user, responses: [{ answerId: "wmtBCWtkSeDs5meBe", selected: false}, { answerId: "wmtBCWtkSeDs5meBz", selected: true}]) {
    id
  }
}

谢谢

我知道这个问题由来已久,但也许其他人需要简单的解决方案

  • 响应的类型设置为
    字符串

    mutation submitResponse($user: ID!, $responses: String!){
      submitResponse(user: $user, responses: $responses) {
        id
      }
    }
    
  • 然后:

    yourData = [{ answerId: "wmtBCWtkSeDs5meBe", selected: false}, { answerId: "wmtBCWtkSeDs5meBz", selected: true}]
    responses = JSON.stringify(yourData)
    
  • 在我的后端中,我使用Python,因此在后端接收
    响应
    ,然后简单地将JSON(字符串)转换为Python的dict,类似于:

    import json
    responses = json.loads(input.get('responses'))