在 GraphQL 中改变数组的状态可以通过使用 GraphQL 的输入类型和变更类型来实现。下面是一种常见的方法:
users
的数组,可以定义一个名为UserInput
的输入类型:input UserInput {
id: ID!
name: String!
}
users
数组中添加一个用户的操作,可以定义一个名为addUser
的变更类型:type Mutation {
addUser(user: UserInput!): [User]!
}
addUser
的解析器,用于处理添加用户的逻辑。在解析器中,你可以通过获取当前的users
数组,添加新的用户,并返回更新后的数组。以下是一个简单的示例解析器实现(使用 JavaScript 和 Apollo Server):
const users = [];
const resolvers = {
Mutation: {
addUser: (root, { user }) => {
const newUser = { id: user.id, name: user.name };
users.push(newUser);
return users;
}
}
};
const server = new ApolloServer({ typeDefs, resolvers });
server.listen().then(({ url }) => {
console.log(`Server ready at ${url}`);
});
addUser
变更请求,以改变users
数组的状态:mutation {
addUser(user: { id: "1", name: "John Doe" }) {
id
name
}
}
该请求会将一个包含id
和name
属性的用户对象添加到users
数组中,并返回更新后的数组作为响应。
请注意,这只是一个基本示例,实际应用中可能需要更复杂的逻辑和数据验证。同时,根据实际需求,你可以使用不同的输入类型和变更类型来实现其他改变数组状态的操作,例如更新、删除等。
对于腾讯云相关产品和产品介绍链接地址,可以根据具体需求和场景选择适合的云计算服务。
领取专属 10元无门槛券
手把手带您无忧上云