RKObjectManager をサブクラス化し、サブクラス化されたマネージャーで requestWithObject:method:path:parameters: の実装を変更することで、個々の要求のシリアル化 MIMEType を変更できます。
リクエストを送信:
SubclassedObjectManager *manager = ...
[manager putObject:nil
path:pathString
parameters:parameters
success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
}
];
PUT メソッドのリクエストの MIMEType を変更します。
- (NSMutableURLRequest *)requestWithObject:(id)object method:(RKRequestMethod)method path:(NSString *)path parameters:(NSDictionary *)parameters
{
NSMutableURLRequest *request = [super requestWithObject:object method:method path:path parameters:parameters];
if (method&RKRequestMethodPUT) {
NSError *error = nil;
NSData *serializedJSON = [RKMIMETypeSerialization dataFromObject:parameters MIMEType:RKMIMETypeJSON error:&error];
[request setValue:RKMIMETypeJSON forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:serializedJSON];
}
return request;
}