axios請求的封裝

經(jīng)過這段時間vue項目的積累, 總結(jié)一下自己對axios請求的封裝, 我們可以通過以下點來拆分:
1.請求的url
2.請求的方式
3.請求的參數(shù)
4.請求攔截器
5.響應(yīng)攔截器
6.調(diào)用方式

請求的url

假設(shè)url為http://10.0..:8080/test/task/32682?appCode=001&userId=test, 我們可以把url拆分為

  • 基礎(chǔ)路徑baseURL=http://10.0..:8080
    我們可以把baseURL的值存到全局配置config文件中, 然后通過webpack
    ProvidePlugin添加到全局變量 config中, 這樣我們就可以通過config.baseURL
    獲取baseURL
    WeChat44c47fe85238878d09bcbd8412a4d197.png
屏幕快照 2019-10-24 上午10.24.52.png
  • 業(yè)務(wù)路徑path=/test/task/{taskId}
    對于業(yè)務(wù)路徑我們可以定義一個path.js文件, 統(tǒng)一管理這些路徑,如下圖:

    WechatIMG433.jpeg

    另外 path中{taskId}, 這里給大家解釋下, 后臺按照restful api設(shè)計的時
    候, 會把針對某個實體的操作, 此實體的id拼接在path上, 所以我們需要動態(tài)的把
    {taskId}替換為32682, 代碼見下個步驟

  • url請求參數(shù)appCode=001&userId=test
    最后我們需要把請求的參數(shù)拼接到url上, 這里強調(diào)下把參數(shù)拼接到url上, 并不僅
    僅是get請求方式, 而是get請求方式只能放到url上, 一般來說其他請求方式在url
    請求上拼接參數(shù), 這類參數(shù)基本上是一些業(yè)務(wù)系統(tǒng)每個接口都需要的一些信息,
    我們通過util中封裝的方法統(tǒng)一處理url如下:

    屏幕快照 2019-10-24 上午10.36.59.png

  • 請求方式
    axios為我們提供了get/delete/head/post/put/patch等


    屏幕快照 2019-10-24 上午11.09.37.png
  • 請求攔截器
    我們在發(fā)出請求時, 可以對請求進行一些處理, 比如說我們移動端的token添加
    request header, 以及在發(fā)出請求時的出錯

    屏幕快照 2019-10-24 上午10.49.34.png

  • 響應(yīng)攔截器
    我們在收到響應(yīng)時, 可以統(tǒng)一對響應(yīng)成功和失敗,進行一些處理, 不同系統(tǒng)后臺處
    理可能會不一樣, 比如id不能為空, 在不同系統(tǒng)可能有如下2種:

    1. 返回200狀態(tài)碼, 在responseData中, 再通過某個字段來區(qū)分成功或失敗, 失敗
      的話, 再專門進行失敗處理
    2. 返回400狀態(tài)碼, 400狀態(tài)碼一般代表, 客戶端傳遞參數(shù)有問題, 導致后臺出錯,
      這時, 后臺一般會自定義一些異常類去捕獲, 異常類一般有2個屬性, code和
      message, 后臺定義的code在接下來我們前端處理codeMessage對象中, 要保持
      一致, 而codeMessage中的message不一定需要與后臺異常類中message保持一
      致, 因為后臺的message一般是英文提示, 此提示直接展示給用戶不夠友好, 所以
      我們前端可以翻譯或者自定義message


      屏幕快照 2019-10-24 上午11.00.25.png
屏幕快照 2019-10-24 上午11.00.00.png
  • axios請求構(gòu)造


    屏幕快照 2019-10-24 上午11.12.32.png
  • 業(yè)務(wù)模塊具體調(diào)用請求
    我們可以進行一下抽象, control -> service -> http請求

  1. control我們可以理解為業(yè)務(wù)組件調(diào)用層, 構(gòu)造請求參數(shù)
  2. service我們可以理解為業(yè)務(wù)模塊服務(wù)層, 我們在這里可以對請求參數(shù)處理, 以及url處理, 此處我們可以按照業(yè)務(wù)場景分模塊
    比如: moduleA下的請求集中一起, moduleB下的請求集中一起
  3. http請求即為我們導出的axios對象, 此對象提供了我們進行http請求的基礎(chǔ)實現(xiàn)


    屏幕快照 2019-10-24 上午11.24.31.png

    屏幕快照 2019-10-24 上午11.28.06.png

至此, 完成對axios請求的封裝, 歡迎提問, 一起進步!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昵济,一起剝皮案震驚了整個濱河市吕晌,隨后出現(xiàn)的幾起案子褐望,更是在濱河造成了極大的恐慌,老刑警劉巖囚聚,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機御吞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漓藕,“玉大人陶珠,你說我怎么就攤上這事∧焓酰” “怎么了背率?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵话瞧,是天一觀的道長嫩与。 經(jīng)常有香客問我寝姿,道長,這世上最難降的妖魔是什么划滋? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任饵筑,我火速辦了婚禮,結(jié)果婚禮上处坪,老公的妹妹穿的比我還像新娘根资。我一直安慰自己,他們只是感情好同窘,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布玄帕。 她就那樣靜靜地躺著,像睡著了一般想邦。 火紅的嫁衣襯著肌膚如雪裤纹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天丧没,我揣著相機與錄音鹰椒,去河邊找鬼。 笑死呕童,一個胖子當著我的面吹牛漆际,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播夺饲,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奸汇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了往声?” 一聲冷哼從身側(cè)響起茫蛹,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎烁挟,沒想到半個月后婴洼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡撼嗓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年柬采,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片且警。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡粉捻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出斑芜,到底是詐尸還是另有隱情肩刃,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站盈包,受9級特大地震影響沸呐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜呢燥,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一崭添、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧叛氨,春花似錦呼渣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至仁连,卻和暖如春缰犁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背怖糊。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工帅容, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伍伤。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓并徘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扰魂。 傳聞我的和親對象是個殘疾皇子麦乞,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容