का उपयोग कर JSON serializing मैं इस वर्ग है:गुण शून्य पर ध्यान न दें जब RestKit
@interface MovieStatus : NSObject
@property (nonatomic, strong) NSNumber* seen;
@property (nonatomic, strong) NSNumber* watchlist;
@end
कहाँ दोनों गुण वैकल्पिक नल बूलियन मूल्यों प्रतिनिधित्व करते हैं। मैं इस ऑब्जेक्ट को RKObjectManager
के माध्यम से RestKit का उपयोग कर सर्वर पर भेज रहा हूं और उपयुक्त मैपिंग बनाया है। लेकिन ऑब्जेक्ट को क्रमबद्ध करते समय मैं POST डेटा से संपत्ति को छोड़ने में असमर्थ हूं।
उदाहरण के लिए, इस कोड:
{
"seen": true,
"watchlist": null
}
मैं कहाँ चाहते हैं भेजने के लिए:
RKLogConfigureByName("*", RKLogLevelTrace);
RKObjectManager* manager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:@"http://www.example.com/v1"]];
manager.requestSerializationMIMEType = RKMIMETypeJSON;
RKObjectMapping* requestMapping = [RKObjectMapping requestMapping];
[requestMapping addAttributeMappingsFromArray:@[@"seen", @"watchlist"]];
RKRequestDescriptor* requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:requestMapping objectClass:[MovieStatus class] rootKeyPath:nil method:RKRequestMethodPOST];
[manager addRequestDescriptor:requestDescriptor];
RKRoute* route = [RKRoute routeWithClass:[MovieStatus class] pathPattern:@"status" method:RKRequestMethodPOST];
[manager.router.routeSet addRoute:route];
MovieStatus* status = [[MovieStatus alloc] init];
status.seen = @(YES);
[manager postObject:status path:nil parameters:nil success:nil failure:nil];
JSON भेज रहा है
{
"seen": true
}
किसी को भी मुझे कहना सकते हैं कि कैसे क्या मैं इसे प्राप्त कर सकता हूं?
क्या प्रत्येक मैपिंग के लिए व्यक्तिगत रूप से इसके बजाय इसे वैश्विक रूप से सेट करने के लिए वैसे भी है? – dirkoneill
आप RKObjectMapping – VaporwareWolf
उपclass कर सकते हैं यह मेरे लिए काम नहीं किया है, और मैंने यह भी सोचा कि यह डिफ़ॉल्ट रूप से 'NO' पर सेट किया गया था? मैंने http://stackoverflow.com/questions/31846262/how-do-i-ignore-empty-properties-on-posted-objects-using-restkit – Tim