Tag: restkit

寻求针对浅层路由的最佳RestKit / CoreData映射和JSON结构的建议

我正在开发一个由(Rails)REST API(支持浅层路由)支持的CoreData iOS应用程序。 因为图中有很多对象,所以我希望REST GET不包含大量嵌套结果,而只是包含RestKit用于建立(故障)关系的引用。 然后,我将根据需要使用浅路由来请求单个(或一组)对象。 假设我有一对多(>)数据模型,如A > B,我有: RKEntityMapping *a_mapping = [RKEntityMapping mappingForEntityForName:@”A” inManagedObjectStore:managedObjectStore]; [a_mapping addAttributeMappingsFromDictionary:@{@”a_id” : @”aId”, …}]; a_mapping.identificationAttributes = @[@”aId”]; RKEntityMapping *b_mapping = [RKEntityMapping mappingForEntityForName:@”B” inManagedObjectStore:managedObjectStore]; [b_mapping addAttributeMappingsFromDictionary:@{@”b_id” : @”bId”, …}]; b_mapping.identificationAttributes = @[@”bId”]; [a_mapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@”bs” toKeyPath:@”bs” withMapping:b_mapping]]; 我有这些路线: NSIndexSet *statusCodes = RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful); RKResponseDescriptor *a_ResponseDescriptor; a_ResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:a_mapping method:RKRequestMethodGET pathPattern:@”/A/:aId” […]

Objective C + Reskit – 如何用密钥包装我的字典以避免格式化问题?

我正在尝试用密钥包装我的HTTP POST请求。 换句话说,我想转此: { “category_id”=>”1”, “food_name_token”=>”Pizza”, “id”=>”1” } 进入这个: { “dish” => { “category_id”=>”1”, “food_name_token”=>”Pizza”, “id”=>”1″ } } 我尝试在RestKit中使用’rootKeyPath’方法: serializationMapping.rootKeyPath = @”dish”; 但这给了我这个奇怪的格式化字符串: { “dish”=> “{ \n \”category_id\” = 1; \n \”food_name_token\” = Pizza; \n id = 1; \n} “} 它使用等号和分号代替箭头和逗号,并添加所有这些换行符和转义反斜杠。 知道为什么吗? 关于我能做什么的任何建议? PS我正在使用Rails后端

从JSON创建Devise中的用户

我正在努力将运行Devise的Rails 3.1应用程序与我的iOS应用程序集成以进行用户身份validation。 我希望用户能够从应用程序注册,然后我可以存储这些凭据以便稍后登录。 使用RestKit,我这样做: -(IBAction)registerUser:(id)sender { NSDictionary *params = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects: self.email.text, self.password.text, self.confirmPassword.text, nil] forKeys:[NSArray arrayWithObjects: @”email”, @”password”, @”password_confirmation”, nil]]; [[RKClient sharedClient] post:@”/users.json” params:params delegate:self]; } /users.json url转到: user_registration POST /users(.:format) {:action=>”create”, :controller=>”devise/registrations”} (根据rake路由)。 看来post调用接受不同的格式,所以我认为它会接受JSON。 我的post请求被序列化为JSON,并被发送出去。 服务器获取它,这是日志: Started POST “/users.json” for 129.21.84.10 at 2012-01-12 15:33:57 -0500 Processing by Devise::RegistrationsController#create as JSON Parameters: {“password”=>”[FILTERED]”, […]