今天在弄公司一個項目時候,發現AF默認將此參數設置成這樣:
// HTTP Method Definitions; see http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
self.HTTPMethodsEncodingParametersInURI = [NSSet setWithObjects:@"GET", @"HEAD", @"DELETE", nil];
這樣會影響具體的請求實現。具體是影響post請求方式。
通過xcode定位代碼,發現在requestBySerializingRequest中會直接跳過
if ([self.HTTPMethodsEncodingParametersInURI containsObject:[[request HTTPMethod] uppercaseString]]) {
return [super requestBySerializingRequest:request withParameters:parameters error:error];
}
如果是get請求,直接就return分支了。
如果是post請求,程序會往下走。
因爲這是項目比較老,用的AF版本還是舊的。AF新版本處理方式已經修改了。