0
我試圖發送一個使用RestKit的DELETE請求,但它似乎總是作爲「GET」發送。這裏是我的代碼:如何使用RestKit(0.20)執行DELETE請求?
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor
responseDescriptorWithMapping:[self objectMapping]
method:RKRequestMethodDELETE
pathPattern:nil
keyPath:nil
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
RKObjectRequestOperation *objectRequestOperation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[ responseDescriptor ]];
[objectRequestOperation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
[delegate onRequestSuccess:mappingResult.array];
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
RKLogError(@"operation failed with error: %@", error);
[delegate onRequestError:operation message:error];
}];
[objectRequestOperation start];
我也試過用RKObjectManager:DeleteObject的,它不會正確地發送一個DELETE請求,但響應不被映射。
RKObjectManager *manager = [RKObjectManager managerWithBaseURL:request.url];
[manager addResponseDescriptor:responseDescriptor];
[manager deleteObject:nil path:request.urlString parameters:nil
success:^(RKObjectRequestOperation *operation , RKMappingResult *mappingResult) {
Tag *tag = mappingResult.firstObject; // this is null, does not get mapped
} failure:^(RKObjectRequestOperation *operation , NSError *error) {
RKLogError(@"Error deleting tag %@, error: %@", tagId, error);
}];
如何爲RKObjectRequestOperation設置它?我已經將它設置在RKResponseDescriptor中,但這沒有任何作用。 – ebi
'[request setHTTPMethod:@「DELETE」]; '。您設置的刪除只是告訴RestKit關於對請求的響應。 – Wain