十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
怎么在iOS平臺(tái)中調(diào)用后臺(tái)接口?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)建站主營(yíng)香洲網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件開(kāi)發(fā)公司,香洲h5微信平臺(tái)小程序開(kāi)發(fā)搭建,香洲網(wǎng)站營(yíng)銷(xiāo)推廣歡迎香洲等地區(qū)企業(yè)咨詢(xún)
FKApiInvoker
iOS 平臺(tái)網(wǎng)絡(luò)接口調(diào)用封裝
安裝
pod 'FKApiInvoker'
使用
1. 初始化配置,可以放在Appdelegate的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions方法中,或者其他你認(rèn)為合適的地方,假設(shè)后臺(tái)返回的json格式如下:
{"code":0, "msg":"成功", "data":{"name":"CHAT", "age":18}}
其中 code是錯(cuò)誤碼(0代表處理成功,127代表token過(guò)期),msg是提示消息,data 是具體的業(yè)務(wù)數(shù)據(jù)
那么做如下配置:
FKApiInvokerConfig* config = [[FKApiInvokerConfig alloc] initWithBaseUrls:@[@"http://www.httpbin.org",@"http://www.httpbin.org",@"http://www.httpbin.org",@"http://www.httpbin.org"] commonHeaders:@{@"test": @"test"} respCodeKey:@"code" respMsgKey:@"msg" respDataKey:@"data" successCode:0 tokenExpiredCode:127]; [[FKApiInvoker sharedInvoker] configInvoker:config]; [FKApiInvoker sharedInvoker].tokenExpiredBlk = ^{ //token失效,跳轉(zhuǎn)登錄頁(yè)面 };
2. 調(diào)用后臺(tái)API
[FKApiInvoker fire:@"post" path:@"/personinfo/login" param:nil headers:headers body:body responseModelClass:[LoginResp class] success:^(LoginResp* model) { //成功處理 } failure:^(NSError *error) { //失敗處理 }];
3. 使用mock數(shù)據(jù)
[FKApiInvoker fireWithMockData:mockData method:@"post" path:@"/personinfo/login" param:nil headers:headers body:body responseModelClass:[LoginResp class] success:^(LoginResp* model) { //成功處理 } failure:^(NSError *error) { //失敗處理 }];
其他情況
1. 后臺(tái)返回的業(yè)務(wù)數(shù)據(jù)和錯(cuò)誤碼、錯(cuò)誤消息平級(jí):
{"code":0, "msg":"成功", "name":"CHAT", "age":18}
則在初始化配置的時(shí)候改成這種:
FKApiInvokerConfig* config = [[FKApiInvokerConfig alloc] initWithBaseUrls:@[@"http://www.httpbin.org",@"http://www.httpbin.org",@"http://www.httpbin.org",@"http://www.httpbin.org"] commonHeaders:@{@"test": @"test"} respCodeKey:@"code" respMsgKey:@"msg" respDataKey:nil successCode:0 tokenExpiredCode:127]; [[FKApiInvoker sharedInvoker] configInvoker:config]; [FKApiInvoker sharedInvoker].tokenExpiredBlk = ^{ //token失效,跳轉(zhuǎn)登錄頁(yè)面 };
即respDataKey參數(shù)傳nil
2. 如果通用頭在初始化配置之后可能發(fā)生變化,這種情況常見(jiàn)于用戶(hù)登錄之后,通用頭里面需要加入形如token的字段
那么調(diào)用如下方法:
[[FKApiInvoker sharedInvoker] configCommonHeaders:@{@"token": @"token string"}];
3. 需要做其他更加靈活的json格式的http請(qǐng)求?
可以直接使用我寫(xiě)的另一個(gè)庫(kù):JsonModelHttp
事實(shí)上FKApiInvoker底層也是依賴(lài)的JsonModelHttp.
看完上述內(nèi)容,你們掌握怎么在iOS平臺(tái)中調(diào)用后臺(tái)接口的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!