の独自のカスタム サブクラスを作成し、AFHTTPRequestSerializer
これを の requestSerializer として設定できますAFHTTPRequestOperationManager
。
このカスタム requestSerializer では、オーバーライドできます
- (NSURLRequest *)requestBySerializingRequest:(NSURLRequest *)request
withParameters:(id)parameters
error:(NSError *__autoreleasing *)error;
このメソッドの実装内では、にアクセスできるため、次のNSURLRequest
ようなことができます
- (NSURLRequest *)requestBySerializingRequest:(NSURLRequest *)request
withParameters:(id)parameters
error:(NSError *__autoreleasing *)error
{
NSURLRequest *serializedRequest = [super requestBySerializingRequest:request withParameters:parameters
error:error];
NSMutableURLRequest *mutableRequest = [serializedRequest mutableCopy];
// Set the appropriate content type
[mutableRequest setValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
// 'someString' could eg be passed through and parsed out of the 'parameters' value
NSData *httpBodyData = [someString dataUsingEncoding:NSUTF8StringEncoding];
[mutableRequest setHTTPBody:httpBodyData];
return mutableRequest;
}
AFJSONRequestSerializer
カスタム HTTP 本文コンテンツを設定する例として、の実装の内部を調べることができます。