[英]How to read results using Apollo Client for iOS
我正在尝试在带有Apollo Client的iOS中使用GraphQL。 我有以下突变:
login(user: String!, password: String!): UserType
而UserType看起来像这样:
id: ID
user: String!
password: String!
name: String
lastname: String
email: Email!
groups: [GroupType]
在iOS中,我按照文档所述配置了aopllo客户端,并且运行良好,但是我不知道如何访问响应中的每个字段。 登录成功后,我想读取以UserType字段作为响应收到的json,因此,我正在这样做:
apolloClient.perform(mutation: loginMutation) {
resultsGQL, error in
...
}
我的问题是,如何从resultGQL中读取属于grapql模式中定义的UserType数据的每个字段?
问候
这个问题不是100%清楚的,因为它缺少突变的一些代码:GraphQL突变必须返回至少一个您必须定义的值。 由于我不确定您的方法
login(user: String!, password: String!): UserType
我给你一个简单的例子,用GraphQL突变更新现有的userProfile,然后返回在您的模式中为userType定义的每个字段。 让我们假设您有一个userType(因此知道相应的userId),并且想要修改电子邮件:
mutation updateUserProfile($id: ID!, $newEmail: String) {
updateUser(id: $id, email: $newEmail) {
id
user
password
name
lastName
email
}
}
如您所见,执行后
updateUser(id: $id, email: $newEmail)
所有返回值都在以下{...}括号内定义,因此可以在您的回调变量中访问
resultsGQL
这意味着:
apolloClient.perform(mutation: loginMutation) { resultsGQL, error in
if let results = resultsGQL?.data {
// "results" can now access all data from userType
}
}
由于您定义了要从突变返回的userType模式的所有实体,因此您现在可以在回调变量中访问它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.