【问题标题】:Submit an array of objects to mutations in GraphQL - Flutter在 GraphQL 中将对象数组提交给突变 - Flutter
【发布时间】:2023-03-19 16:15:01
【问题描述】:

我很难在 Flutter 上将一组对象传递给 GraphQL 中的突变,目前我正在处理它,就像我过去在 RESTful 中处理它的方式一样,只是传递一个具有“toJson( )" 方法,这会引发类型不匹配的错误,然后尝试对列表进行编码和解码,但没有成功。

关于它是如何完成的任何想法?我似乎找不到关于我的案例的文档。

这是架构:

input InvitationEmployeeInput {
  employees: [NewEmployeeInput]
  merchantId: String!
  storeId: String!
}

type InvitationEmployeePayload {
  nodes: [Employee!]!
}

type Mutation {
 invitationEmployee(input: InvitationEmployeeInput!): InvitationEmployeePayload
}

这是我针对架构发送的突变

String inviteEmployeeMutation = """

    mutation inviteEmployee (
        \$storeId: String!,
        \$merchantId: String!
                
        \$employees: [NewEmployeeInput]
    
    ) {
        invitationEmployee (
            input: {
                storeId: \$storeId
                merchantId: \$merchantId
        
                employees: \$employees
            }
        ) {
            nodes {
                id
        
                firstName
        
                lastName
        
                email
    
                mobile
            }
        
        }
    }
                
""";

【问题讨论】:

标签: flutter graphql


【解决方案1】:

这对我有用:

   String delivery= r'''
      mutation list($list:[DeliveryTmpInput]){
      createDeliveryList(
        deliveryList: $list
      )
    }''';

代码:

List requestedBody= [];

for (var i = 0; i < 4; i++) {

  DeliveryTmpInput deliveryTmp= DeliveryTmpInput(
      '1234',
      'Vodka',
      '28',
   );

  requestedBody.add(deliveryTmp);
}

runMutation(<String, dynamic>{
  "list": requestedBody
});

【讨论】:

  • 此项代码已被 Stack Overflow 编辑器中的占位符分割(特别是用于添加引用块)。如果它打算成为一个文件,您可以将其删除。
猜你喜欢
  • 2018-02-05
  • 2016-05-06
  • 2020-09-22
  • 2017-03-09
  • 1970-01-01
  • 2017-02-07
  • 2020-02-03
  • 2020-06-16
  • 2017-08-22
相关资源
最近更新 更多