【问题标题】:With GraphQL + Apollo Client, how to return a totalCount after mutating?使用 GraphQL + Apollo Client,变异后如何返回 totalCount?
【发布时间】:2019-03-16 17:14:51
【问题描述】:

我有以下:

const typeDefs = `
type Request {
  id: ID!
  email: String!
  totalCount: Int
}

type Mutation {
  createRequest(email: String!): Request!
}
`;

export default typeDefs;

现在 totalCount 正在返回 null。使用 GraphQL,返回 TotalCount 作为突变响应的正确方法是什么。 TotalCount 是否应该以某种方式包含在 Request 模型中?

【问题讨论】:

    标签: reactjs graphql apollo


    【解决方案1】:

    您已将totalCount 定义为每个Request 对象的属性,但totalCount 表示所有Request 对象的计数。

    在突变响应中允许附加数据的常见做法是让它返回一个包装器。例如:

    type Mutation {
      createRequest(email: String!): CreateRequestResponse!
    }
    
    type CreateRequestResponse {
      request: Request!
      totalCount: Int!
    }
    

    CreateRequestResponse 是一个包装对象,可以包含客户端在响应中可能需要的任意属性。 totalCount 这里只是一个例子;你可以在那里添加任何属性。

    这样,Request 类型的定义将是:

    type Request {
      id: ID!
      email: String!
    }
    

    这是理想的,因为它只包含特定请求的属性。

    【讨论】:

      猜你喜欢
      • 2022-08-24
      • 2020-04-11
      • 2017-05-06
      • 2020-02-14
      • 2018-02-10
      • 2017-07-30
      • 2020-02-12
      • 2020-04-06
      • 2021-03-11
      相关资源
      最近更新 更多