前言
不知道大家有沒有遇過 API 已經設定好了,某天被告知 domain 有調整過,或是某些 get、post方法需要多加參數等設定,導致必須不斷地找專案內 call API 的地方,有時還會遺漏幾處產生嚴重問題呢。以下教各位如何高效率的管理專案內的 API,即便是小專案也該如此。
官方 axios 範例
1 | import axios from 'axios'; /* 依照你的專案形式引入套件 */ |
這種作法相當直覺,針對特定功能去 call api,確實可以這樣寫,但當專案 API 超過 10 支、20支甚至更多時,這樣子的寫法就變得不好管理,如果 domain、參數一改,就得一個一個找出來慢慢改,真的很麻煩。
高效率管理 API 方法
使用官方的 axios.create 方法,可以利用此方法來新增一個 axios 實體。
首先建立 api.js,之後 API 都在這支檔案內管理。
1 | import axios from 'axios'; |
要使用的話,直接 import 這支 api.js
1 | /* 只 import 要使用的 API */ |
高效率的管理優點
- 可以確保所有的
API都是同一進入點,即便在各元件js內呼叫API,最後只需管理一支api,對於日後API有需要要修改會方便很多。 - 使用
axios.create產生出的實體可以透過變數的方式給予新的API 名稱,透過團隊命名規範來清楚知道API的功能。 - 除了可以減少超長的
api url,還能大幅減少程式碼的撰寫,並搭配axios回傳的Promise特性,可以使用Async / Await減少.then()的寫法,提高程式碼可讀性