AFN的總結(jié)

一、2大管理對象

1.AFHTTPRequestOperationManager

* 對NSURLConnection的封裝

2.AFHTTPSessionManager

* 對NSURLSession的封裝

二、AFHTTPRequestOperationManager的具體使用

1.創(chuàng)建管理者

AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

2.封裝請求參數(shù)

NSMutableDictionary *params = [NSMutableDictionary dictionary];

params[@"username"] = @"哈哈哈";

params[@"pwd"] = @"123";

3.發(fā)送請求

NSString *url = @"http://localhost:8080/MJServer/login";

[mgr POST:url parameters:params

success:^(AFHTTPRequestOperation *operation, id responseObject) {

// 請求成功的時候調(diào)用這個block

NSLog(@"請求成功---%@", responseObject);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

// 請求失敗的時候調(diào)用調(diào)用這個block

NSLog(@"請求失敗");

}];

// GET請求

[mgr GET:url parameters:params

success:^(AFHTTPRequestOperation *operation, id responseObject) {

// 請求成功的時候調(diào)用這個block

NSLog(@"請求成功---%@", responseObject);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

// 請求失敗的時候調(diào)用調(diào)用這個block

NSLog(@"請求失敗");

}];

三、對服務(wù)器返回數(shù)據(jù)的解析

1.AFN可以自動對服務(wù)器返回的數(shù)據(jù)進(jìn)行解析

* 默認(rèn)將服務(wù)器返回的數(shù)據(jù)當(dāng)做JSON來解析

2.設(shè)置對服務(wù)器返回數(shù)據(jù)的解析方式

1> 當(dāng)做是JSON來解析(默認(rèn)做法)

* mgr.responseSerializer = [AFJSONResponseSerializer serializer];

* responseObject的類型是NSDictionary或者NSArray

2> 當(dāng)做是XML來解析

* mgr.responseSerializer = [AFXMLParserResponseSerializer serializer];

* responseObject的類型是NSXMLParser

3> 直接返回data

* 意思是:告訴AFN不要去解析服務(wù)器返回的數(shù)據(jù),保持原來的data即可

* mgr.responseSerializer = [AFHTTPResponseSerializer serializer];

3.注意

* 服務(wù)器返回的數(shù)據(jù)一定要跟responseSerializer對得上

1> 服務(wù)器返回的是JSON數(shù)據(jù)

* AFJSONResponseSerializer

* AFHTTPResponseSerializer

2> 服務(wù)器返回的是XML數(shù)據(jù)

* AFXMLParserResponseSerializer

* AFHTTPResponseSerializer

3> 服務(wù)器返回的是其他數(shù)據(jù)

* AFHTTPResponseSerializer

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容