2012-12-13 12 views
7

मैं एक एंडपॉइंट कॉल करने के लिए रेस्टकिट का उपयोग करने की कोशिश कर रहा हूं जिसके लिए मूल प्रमाणीकरण की आवश्यकता है।मैं RestKit 0.20.0 के साथ मूल प्रमाणीकरण कैसे सेट करूं?

RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[JSNCategory class]]; 
[mapping addAttributeMappingsFromDictionary:@{ 
    @"id": @"catId", 
    @"name": @"name" 
}]; 

NSIndexSet *statusCodes = RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful); 
RKResponseDescriptor *responseDescriptor 
= [RKResponseDescriptor responseDescriptorWithMapping:mapping 
              pathPattern:@"/api/v1/categories" 
               keyPath:nil 
              statusCodes:statusCodes]; 
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL 
         URLWithString:@"https://rest.example.com"]]; 

RKObjectRequestOperation *operation 
    = [[RKObjectRequestOperation alloc] initWithRequest:request 
            responseDescriptors:@[responseDescriptor]]; 

[operation setCompletionBlockWithSuccess: 
^(RKObjectRequestOperation *operation, RKMappingResult *result) { 
    JSNCategory *cat = [result firstObject]; 
    NSLog(@"Mapped the category: %@", cat); 
} failure:^(RKObjectRequestOperation *operation, NSError *error) { 
    NSLog(@"Failed with error: %@", [error localizedDescription]); 
}]; 

उत्तर

26

objectmanager का उपयोग करते हुए इस होगा की तरह कुछ:

NSURL* url = [[NSURL alloc]initWithString:@"http://rest.url.com"]; 
RKObjectManager* objectManager = [RKObjectManager managerWithBaseURL:url]; 

[objectManager.HTTPClient setAuthorizationHeaderWithUsername:@"username" password:@"password"]; 

फिर, सही अनुरोध/प्रतिक्रिया सेट करने के बाद आप एक प्राप्त करने के लिए उपयोग कर सकते हैं objectmanager/पोस्ट/आदि:

[objectManager getObjectsAtPath:endpoint parameters:parameters success: 
    ^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 
     // do something 
    } 
    failure:^(RKObjectRequestOperation *operation, NSError *error) { 
     // do something 
    } 
]; 
+0

उत्कृष्ट, एक आकर्षण काम करता है। –

+1

ठीक @ ब्रेट्रयान, लेकिन आप RKObjectManager का उपयोग नहीं कर रहे हैं, तो आपने यह कैसे किया? – jturolla

+0

मुझसे वही टिप्पणी। ऑब्जेक्ट प्रबंधक को कॉल में कैसे उपयोग किया जाता है? – nimbusgb

संबंधित मुद्दे