0

我是 iOS 和 Java 中 RESTful Web 服务的新手。我读了很多书,但我没有得到明确的答案,如何在 iOS 中发送和接收 POST 请求并在 Java 中处理该请求。

我的情况是这样的:

我想在服务器端创建一个用户。在客户端,我得到了 3 个保存信息的对象(用户、用户设备和用户成员资格)。我阅读了很多关于 Objectmapping 的内容,但我无法将其与实际示例联系起来。

第二个是如何使用 Java(Jersey) 作为 RE 在服务器端处理该 POST。

我知道这是两个问题,但我真的需要知道这一点。

4

1 回答 1

0

我强烈建议您发布您的代码片段并阐明使用哪个 restkit 版本。似乎有点过时了。

还要阅读最新的对象映射指南,以利用 RestKit,如果您需要 KVC 映射,请务必小心。可能很棘手!!!

https://github.com/RestKit/RestKit/wiki/Object-mapping

首先,您必须确定您的基本 URL:

 RKObjectManager* manager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:@"http://www.yourURL.com]];

一种使用RK对象映射下载文章的方法:

- (void)loadArticles{
        RKObjectMapping* articleMapping = [RKObjectMapping mappingForClass:[Article class]];
        [articleMapping addAttributeMappingsFromDictionary:@{ 
            @"title": @"title",
            @"body": @"body",
            @"author": @"author",
            @"publication_date": @"publicationDate"
        }];
        RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:articleMapping pathPattern:nil keyPath:@"articles" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
    NSString * stringURL = @"/articles/";
    [RKObjectManager.sharedManager getObjectsAtPath:stringURL parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult){
            RKLogInfo(@"Load collection of Articles: %@", mappingResult.array);
        } failure:^(RKObjectRequestOperation *operation, NSError *error) {
            RKLogError(@"Operation failed with error: %@", error);
        }];

        [objectRequestOperation start];
    }

为了映射这个 JSON

{ "articles": [
{ "title": "RestKit Object Mapping Intro",
  "body": "This article details how to use RestKit object mapping...",
  "author": "Blake Watters",
  "publication_date": "7/4/2011"
},
{ "title": "RestKit 1.0 Released",
  "body": "RestKit 1.0 has been released to much fanfare across the galaxy...",
  "author": "Blake Watters",
  "publication_date": "9/4/2011"
}]

}

于 2013-07-12T00:17:09.817 回答