2013-07-31 56 views
7

Tôi muốn biết liệu có hướng dẫn cụ thể về cách thực hiện yêu cầu POST với RESTKit hay không. Tôi đã xem xét một số hướng dẫn nhưng tôi đã không tìm thấy bất kỳ điều gì nói rằng, "Đây chính xác là cách bạn thực hiện một yêu cầu POST với RESTKit." Giúp đỡ được nhiều đánh giá cao.Hướng dẫn yêu cầu RESTKit POST

Trả lời

11

Giả sử bạn đã có một mô hình ánh xạ, bạn chỉ có thể thực hiện điều này:

Thứ nhất, thiết lập một requestDescriptor với inverseMapping của responseDescriptor của bạn, giả sử bạn có một với bản đồ của bạn.

//This is used for mapping responses, you already should have one of this. PS:[Data mapping] is a method that returns an RKObjectMapping for my model. You should create yours or use a previous created one 
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:[Data mapping] pathPattern:nil keyPath:@"data" statusCodes:statusCodeSet]; 
[[RKObjectManager sharedInstance] addResponseDescriptor:responseDescriptor]; 

//Inverse mapping, to perform a POST 
RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:[[Data mapping] inverseMapping] objectClass:[Data class] rootKeyPath:nil]; 
[[RKObjectManager sharedInstance] addRequestDescriptor:requestDescriptor]; 

Sau đó, để thực hiện POST, chỉ cần gọi phương thức bên dưới. Restkit sẽ nhận được cá thể mà bạn đang cố gắng đăng, tuần tự hóa nó và gửi đến đường dẫn đã chọn.

[[RKObjectManager sharedInstance] postObject:instanceOfYourModel path:yourPathHere parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 
    NSLog(@"Success"); 

} failure:^(RKObjectRequestOperation *operation, NSError *error) { 
    NSLog(@"Error"); 
}]; 

Nếu bạn không có mô hình được ánh xạ, hãy cho tôi biết để chúng tôi có thể thử một thứ khác.

+0

Tôi thực sự không biết mô hình được ánh xạ là gì. Có phải nó là: RKObjectMapping * mapping = [RKObjectMapping mappingForClass: [Login class]]; [ánh xạ addAttributeMappingsFromArray: @ [@ "tên người dùng", @ "mật khẩu"]]; ánh xạ trả lại; – comrod

+1

Có. Ánh xạ đối tượng của bạn có một phương thức [ánh xạ ngược ánh xạ]. Chỉ cần tạo một bộ mô tả yêu cầu, như tôi đã hiển thị và đưa nó cho Trình quản lý RKObject của bạn, và bạn sẽ có thể thực hiện một postObject. Bất kỳ nghi ngờ, xin vui lòng yêu cầu –

+1

Lucas, tôi muốn tôi có thể chấp nhận câu trả lời: nó đã giúp tôi rất nhiều. +1 nó. – PJC

Các vấn đề liên quan