基于AF的輕量級(jí)網(wǎng)絡(luò)庫(kù)二次封裝

前言:從以前的ASI到AF,通常都是拿來(lái)直接用,然后上個(gè)項(xiàng)目中用了基于AF的YTKNetwork,這種相比之前集約型的網(wǎng)絡(luò)請(qǐng)求,雖然離散但很清晰。然而項(xiàng)目不復(fù)雜,用YTKNetwork似乎有點(diǎn)殺雞用牛刀了,于是在YTKNetwork的基礎(chǔ)上修改封裝了輕量級(jí)的網(wǎng)絡(luò)庫(kù)KKNetworking。

下面是簡(jiǎn)單介紹:

KKNetworkConfig類

(存放一些全局通用的參數(shù))

baseUrl 服務(wù)器地址

AFSecurityPolicy 安全策略 https認(rèn)證

requestMethod 請(qǐng)求方式 默認(rèn)Post

requestTimeoutInterval 超時(shí)時(shí)間 默認(rèn)20s

requestHeaderFieldValueDictionary 請(qǐng)求頭

可在AppDelegate配置

YTKNetwork中用的最舒服的就是在基類中可以全局設(shè)置超時(shí)時(shí)間、消息請(qǐng)求頭等基礎(chǔ)信息,于是修改的時(shí)候把這些都放到了config類中可以全局設(shè)置。

KKNetworkRequest類

(主要使用的類)

---------------請(qǐng)求設(shè)置---------------

requestUrl 請(qǐng)求地址

requestArgument 請(qǐng)求參數(shù)

requestMethod 請(qǐng)求方式

requestTimeoutInterval 超時(shí)時(shí)間

requestHeaderFieldValueDictionary 請(qǐng)求頭

---------------返回?cái)?shù)據(jù)---------------

responseData,responseJSONObject,responseObject,responseString,error

isResponseSerializerTypeHTTP默認(rèn)返回?cái)?shù)據(jù)Json解析,可設(shè)置為YES,則為HTTP序列化,不對(duì)數(shù)據(jù)進(jìn)行解析 (通常用于一些小型文件下載)

在request的類中

- (BOOL)statusCodeValidator 這個(gè)方法也是來(lái)自YTK,可以做一些全局的請(qǐng)求成功后狀態(tài)碼檢查【比如接口返回的相關(guān)錯(cuò)誤碼統(tǒng)一處理】

KKNetworkManager類

(請(qǐng)求主要發(fā)起類)

初始化時(shí)讀取config的一些配置

在處理request請(qǐng)求時(shí) 優(yōu)先取request的參數(shù)處理

沒(méi)有時(shí)取config的默認(rèn)設(shè)置(如請(qǐng)求方式,超時(shí)時(shí)間,請(qǐng)求頭等)

發(fā)起請(qǐng)求接受數(shù)據(jù)進(jìn)行成功與失敗的回調(diào)

KKNetworkTools類

一些常用的方法封裝


這個(gè)網(wǎng)絡(luò)庫(kù)簡(jiǎn)單到幾乎只封裝了Get、Post請(qǐng)求,適合一些小型項(xiàng)目使用,也可以根據(jù)業(yè)務(wù)需求在這基礎(chǔ)上進(jìn)行擴(kuò)展。

Demo地址:KKNetworking

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

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

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