There is a method in the RKObjectManager class
** This method is the `RKObjectManager` analog for the method of the same name on `AFHTTPClient`. */ - (NSMutableURLRequest *)requestWithMethod:(NSString *)method path:(NSString *)path parameters:(NSDictionary *)parameters { NSMutableURLRequest* request; if (parameters && !([method isEqualToString:@"GET"] || [method isEqualToString:@"HEAD"] || [method isEqualToString:@"DELETE"])) {
There is a content type replacement here that you can install earlier when you set up RestKit
[[[RKObjectManager sharedManager] HTTPClient] setDefaultHeader:@"Content-Type" value:@"application/json"];
For this, I will find (not very, but working) a solution, I made a category
@interface RKObjectManager (BBContentType) - (NSMutableURLRequest *)requestWithMethod:(NSString *)method path:(NSString *)path parameters:(NSDictionary *)parameters; @end @implementation RKObjectManager (BBContentType) - (NSMutableURLRequest *)requestWithMethod:(NSString *)method path:(NSString *)path parameters:(NSDictionary *)parameters { NSMutableURLRequest* request; if (parameters && !([method isEqualToString:@"GET"] || [method isEqualToString:@"HEAD"] || [method isEqualToString:@"DELETE"])) { // NOTE: If the HTTP client has been subclasses, then the developer may be trying to perform signing on the request NSDictionary *parametersForClient = [self.HTTPClient isMemberOfClass:[AFHTTPClient class]] ? nil : parameters; request = [self.HTTPClient requestWithMethod:method path:path parameters:parametersForClient]; NSError *error = nil; NSData *requestBody = [RKMIMETypeSerialization dataFromObject:parameters MIMEType:self.requestSerializationMIMEType error:&error]; [request setHTTPBody:requestBody]; } else { request = [self.HTTPClient requestWithMethod:method path:path parameters:parameters]; } return request; } @end
I just cut two lines
NSString *charset = (__bridge NSString *)CFStringConvertEncodingToIANACharSetName(CFStringConvertNSStringEncodingToEncoding(self.HTTPClient.stringEncoding)); [request setValue:[NSString stringWithFormat:@"%@; charset=%@", self.requestSerializationMIMEType, charset] forHTTPHeaderField:@"Content-Type"];
source share