Serialization AFJSONSerializer与HTTPSerializer
我使用的是AFNetworking 2.0,有一个Serialization AFJSONSerializer与HTTPSerializer,serialization,afnetworking,Serialization,Afnetworking,我使用的是AFNetworking 2.0,有一个AFHTTPRequestOperationManager子类HTTPClient,它处理我应用程序中的所有HTTP流量 我已经将HTTPClient的requestSerializer属性设置为[AFJSONRequestSerializer],它应该用JSON编码参数并将它们放在请求体中 这一切都正常,但有些请求要求我将参数直接编码到它们的URL中,而不是默认的JSON格式。 我考虑过在自定义的AFHTTPRequestOperation上设
AFHTTPRequestOperationManager
子类HTTPClient
,它处理我应用程序中的所有HTTP流量
我已经将HTTPClient
的requestSerializer
属性设置为[AFJSONRequestSerializer]
,它应该用JSON编码参数并将它们放在请求体中
这一切都正常,但有些请求要求我将参数直接编码到它们的URL中,而不是默认的JSON格式。
我考虑过在自定义的AFHTTPRequestOperation
上设置requestSerializer
属性,但是这个类没有这样的属性
TL;DR:有没有办法为每个HTTP请求设置requestSerializer属性?
AFHTTPRequestOperation
没有requestSerializer
请求。我认为这种混乱是因为你对对象创建顺序的思考不正确
如果使用manager,会发生以下情况:
AFHTTPRequestOperation
,并将此请求分配给它/* 1. Make a NSMutableURLRequest using your own serializer */
NSMutableURLRequest *request = [myDifferentRequestSerializer requestWithMethod:@"GET" URLString:@"http://www.aol.com" parameters:parameters error:nil];
/* 2. Create an AFHTTPRequestOperation and assign this request to it. */
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperationManager sharedManager] HTTPRequestOperationWithRequest:request success:success failure:failure];
/* 3. Start the operation! */
[[AFHTTPRequestOperationManager sharedManager].operationQueue addOperation:operation];
这里也有同样的限制。如果我能找到解决办法,我会告诉你的。据我所见,requestSerializer是按经理分配的。@Fervus告诉我我的答案是否适合您。