11

RestKit を使用して REST API と対話します。HTTP PUT/POST/DELETE などの一部のアクションでは、応答ステータス コード (200、または 500 など) のみを気にし、API がデータを送り返す場合でも、応答データは気にしません。

パフォーマンスを考慮して、応答のマッピングを回避するために RestKit を構成する方法はありますか? 応答記述子を設定しないと、「読み込まれた応答と一致する応答記述子がありません」というエラーが表示されるようです

4

3 に答える 3

20

私の解決策は、 NSObject のマッピングを使用することだけでした

RKObjectMapping * emptyMapping = [RKObjectMapping mappingForClass:[NSObject class]];
RKResponseDescriptor * responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:emptyMapping
                                                                                         method:RKRequestMethodPOST
                                                                                    pathPattern:API_SURVEY_UPLOAD keyPath:nil
                                                                                    statusCodes:[NSIndexSet indexSetWithIndex:200]];
[objectManager addResponseDescriptor:responseDescriptor];
于 2013-09-19T04:06:24.607 に答える
8

応答データをオブジェクトにマップしたり、オブジェクトを要求パラメーターにマップしたりする必要がない場合は、RestKit 0.20 が使用する AFHTTPClient の使用に興味があるかもしれません。RestKit 自体が使用する AFHTTPClient オブジェクトにアクセスできるため、ベース URL や認証ヘッダーなどを自分で最初から設定する必要はありません。

簡単な GET の例を次に示します。

[[[RKObjectManager sharedManager] HTTPClient] getPath:@"http://example.com"
                                           parameters:nil
                                              success:^(AFHTTPRequestOperation *operation, id responseObject) {
                                                  // handle success
                                              }
                                              failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                                  // response code is in operation.response.statusCode
                                              }];
于 2013-05-14T03:34:15.133 に答える