OGeek|极客世界-中国程序员成长平台

标题: ios - 添加与关系名称不同的键路径的 Restkit 关系映射 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 07:28
标题: ios - 添加与关系名称不同的键路径的 Restkit 关系映射

我正在尝试将关系映射添加到我的一个请求映射中。

POST 请求应该这样发送正文内容:

{"account":{"key":"the_key_goes_here","terms_of_service":1,"person_attributes":{"email":"[email protected]"}}}

我已将帐户映射设置为:

NSMutableDictionary *accountAttributes = [NSMutableDictionary dictionaryWithDictionary: @{@"key""key",@"terms_of_service""terms_of_service",@"source""source"}];
RKObjectMapping *requestMapping = [RKObjectMapping requestMapping];
[requestMapping addAttributeMappingsFromDictionary:accountAttributes];

现在,为了尝试将 person_attributes 添加到请求中,我执行以下操作:

NSMutableDictionary *userAttributes = [NSMutableDictionary dictionaryWithDictionary: @{@"first_name""first_name",@"last_name""last_name",@"email""email"}];
RKObjectMapping *userMapping = [RKObjectMapping requestMapping];
[userMapping addAttributeMappingsFromDictionary:userAttributes];
[requestMapping addRelationshipMappingWithSourceKeyPath"person" mapping:userMapping];

但是,这总是发送为:

{"account":{"key":"the_key_goes_here","terms_of_service":1,"person":{"email":"[email protected]"}}}

为了尝试将 person 更改为 person_attributes,我将 relationshipmappingwithsourcekeypath 修改为:

[requestMapping addRelationshipMappingWithSourceKeyPath"person_attributes" mapping:userMapping];

但是,它每次都失败并出现错误,说明:实体帐户不符合键“person_attributes”的键值编码

我知道这是因为 Account 没有 person_attributes 值。有没有办法将 key 路径添加为 person 但将其作为 person_attributes 发送?

提前感谢您的帮助!



Best Answer-推荐答案


您需要使用 RKRelationshipMapping 类和 relationshipMappingFromKeyPath:toKeyPath:withMapping: 方法创建关系,然后使用 addPropertyMapping:.

关于ios - 添加与关系名称不同的键路径的 Restkit 关系映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23090808/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4