RestKit を使用して REST API と対話します。HTTP PUT/POST/DELETE などの一部のアクションでは、応答ステータス コード (200、または 500 など) のみを気にし、API がデータを送り返す場合でも、応答データは気にしません。
パフォーマンスを考慮して、応答のマッピングを回避するために RestKit を構成する方法はありますか? 応答記述子を設定しないと、「読み込まれた応答と一致する応答記述子がありません」というエラーが表示されるようです
RestKit を使用して REST API と対話します。HTTP PUT/POST/DELETE などの一部のアクションでは、応答ステータス コード (200、または 500 など) のみを気にし、API がデータを送り返す場合でも、応答データは気にしません。
パフォーマンスを考慮して、応答のマッピングを回避するために RestKit を構成する方法はありますか? 応答記述子を設定しないと、「読み込まれた応答と一致する応答記述子がありません」というエラーが表示されるようです
私の解決策は、 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];
応答データをオブジェクトにマップしたり、オブジェクトを要求パラメーターにマップしたりする必要がない場合は、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
}];