您好,登錄后才能下訂單哦!
怎么在iOS平臺中調用后臺接口?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
FKApiInvoker
iOS 平臺網絡接口調用封裝
安裝
pod 'FKApiInvoker'
使用
1. 初始化配置,可以放在Appdelegate的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions方法中,或者其他你認為合適的地方,假設后臺返回的json格式如下:
{"code":0, "msg":"成功", "data":{"name":"CHAT", "age":18}}
其中 code是錯誤碼(0代表處理成功,127代表token過期),msg是提示消息,data 是具體的業務數據
那么做如下配置:
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失效,跳轉登錄頁面 };
2. 調用后臺API
[FKApiInvoker fire:@"post" path:@"/personinfo/login" param:nil headers:headers body:body responseModelClass:[LoginResp class] success:^(LoginResp* model) { //成功處理 } failure:^(NSError *error) { //失敗處理 }];
3. 使用mock數據
[FKApiInvoker fireWithMockData:mockData method:@"post" path:@"/personinfo/login" param:nil headers:headers body:body responseModelClass:[LoginResp class] success:^(LoginResp* model) { //成功處理 } failure:^(NSError *error) { //失敗處理 }];
其他情況
1. 后臺返回的業務數據和錯誤碼、錯誤消息平級:
{"code":0, "msg":"成功", "name":"CHAT", "age":18}
則在初始化配置的時候改成這種:
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失效,跳轉登錄頁面 };
即respDataKey參數傳nil
2. 如果通用頭在初始化配置之后可能發生變化,這種情況常見于用戶登錄之后,通用頭里面需要加入形如token的字段
那么調用如下方法:
[[FKApiInvoker sharedInvoker] configCommonHeaders:@{@"token": @"token string"}];
3. 需要做其他更加靈活的json格式的http請求?
可以直接使用我寫的另一個庫:JsonModelHttp
事實上FKApiInvoker底層也是依賴的JsonModelHttp.
看完上述內容,你們掌握怎么在iOS平臺中調用后臺接口的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。