0

私はrestkitを使用してWebサービスと通信するアプリを構築しています。まず第一に、私はこれに非常に慣れていません。私がする必要があるのは、URLが次のようになるようにユーザー名とパスワードをWebサービスに投稿することです。

http://urllinkcompany.com/en/webservice/company-user/login/apikey/key12345678?email=test@test.be&pwd=testtest

これを投稿すると、jsonが返されます。このjsonにはステータスコードが含まれています。status = 200 --> OK Status = 404 --> NOT ok

今、私は何かを投稿して、このステータスコードをNSLogしようとしました。

- (IBAction)login:(id)sender {

    RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[Person class]];
    [mapping addAttributeMappingsFromDictionary:@{
     @"data.user.cu_email":     @"cu_email",

     }];


    RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:mapping pathPattern:nil keyPath:nil statusCodes:nil];

    NSString *baseUrl = @"http://urllinkcompany.com/en/webservice/company-user/login/apikey/key12345678?";
    NSString *strUrl = [NSString stringWithFormat:@"%@email=%@&pwd=%@",baseUrl,_txtLogin.text,_txtPass.text];
    NSURL *url = [NSURL URLWithString:strUrl];
    NSLog(@"url is: %@",strUrl);
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    RKObjectRequestOperation *operation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[responseDescriptor]];
    [operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *result) {
         NSLog(@"data result is %@", [result valueForKeyPath:@"data.status"]);
    } failure:nil];

}

しかし、私はこのエラーを受け取っています。

 E restkit.network:RKObjectRequestOperation.m:285 Object request failed: Underlying HTTP request operation failed with error: Error Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0x1ed57c50 {NSUnderlyingError=0x20161e70 "bad URL", NSLocalizedDescription=bad URL}
2013-01-07 11:48:51.407 Offitel2[22086:907] I restkit.network:RKHTTPRequestOperation.m:152 GET '(null)'
2013-01-07 11:48:51.408 Offitel2[22086:907] E restkit.network:RKHTTPRequestOperation.m:173 GET '(null)' (0) [0.0010 s]: Error Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0x1ed57c50 {NSUnderlyingError=0x20161e70 "bad URL", NSLocalizedDescription=bad URL}

誰かがこれで私を助けることができますか?

敬具

4

1 に答える 1

0

編集:これはRKClientのないバージョンです

RKObjectManager* objectManager = [RKObjectManager objectManagerWithBaseURL:[NSURL URLWithString:@"http://urllinkcompany.com/"]];

RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[Person class]];
[mapping addAttributeMappingsFromDictionary:@{
 @"data.user.cu_email":     @"cu_email",
 }];

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:_txtLogin.text, @"email", _txtPass.text, @"pwd", nil];

[objectManager loadObjectsAtResourcePath:@"en/webservice/company-user/login/apikey/key12345678" delegate:self block:^(RKObjectLoader* loader) {
    loader.objectMapping = mapping;
    loader.method = RKRequestMethodPOST;
    loader.params = params;
}];

そして、これら 2 つの RKObjectLoaderDelegate メソッドを実装します。

- (void)objectLoader:(RKObjectLoader *)objectLoader didLoadObjects:(NSArray *)objects

- (void)objectLoader:(RKObjectLoader *)objectLoader didFailWithError:(NSError *)error
于 2013-01-07T11:22:50.047 に答える