【发布时间】:2015-04-28 09:51:42
【问题描述】:
我一直在成功使用 Restkit 进行 GET,现在我尝试将其用于 POST 并得到错误。这是我认为非常标准的 RESTKit 代码:
RKObjectMapping *mappingTransaction = [RKObjectMapping mappingForClass:[Transaction class]];
NSDictionary *mappingTransactionDict = @{
@"final_price" : @"finalPrice",
@"discount" : @"discount",
@"customer_fk" : @"customerID",
@"typeofpayment_fk" : @"typeOfPaymentID",
@"shop_fk" : @"shopID",
@"systemuser_fk" : @"systemUserID",
@"company_fk" : @"companyID",
@"created_at" : @"creationDate",
@"updated_at" : @"updateDate"
};
[mappingTransaction addAttributeMappingsFromDictionary:mappingTransactionDict];
RKResponseDescriptor *transactionDescriptor =
[RKResponseDescriptor responseDescriptorWithMapping:mappingTransaction
method:RKRequestMethodPOST
pathPattern:@"/revenue/add/transaction"
keyPath:nil
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[[RKObjectManager sharedManager] addResponseDescriptor:transactionDescriptor];
[[RKObjectManager sharedManager] postObject:(Transaction *)transactionRecord
path:@"/revenue/add/transaction"
parameters:nil
success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult){
//self.typeOfPaymentArray = mappingResult.array;
}
failure:^(RKObjectRequestOperation *operation, NSError *error){
NSLog(@"Transaction insert failed': %@", error);
}];
然后出现“TokenMismatchException”的错误:
我用谷歌搜索了它,但似乎所有线程都在谈论表单中的 CSRF 令牌,在我的例子中是第三方 IOS 应用程序。我的 RESTFul API 由 Laravel 5 运行。任何想法都将不胜感激。感谢您的关注。
【问题讨论】:
-
你有请求描述符吗?服务器期望什么,它得到什么?
标签: objective-c laravel restkit