五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

api-create-toolkit 一個快速,簡單的api生成工具

2023-03-30 16:07 作者:小老虎Tigger  | 我要投稿

我們很多項目都使用了一個函數(shù)來生成api,配套也有一些命令行工具可以做到直接生成api文件

這個函數(shù)是這樣使用的

但是這樣存在一個問題,就是在我們調(diào)用的時候,api.user.login無法有效提示出參數(shù)的類型,我們期望的是創(chuàng)建好的api,既可以做到api.a.b這樣的提示,也可以做到api.a.b()函數(shù)調(diào)用時輸入?yún)?shù)的提示,這樣我們就需要將createApi方法使用TS來重寫一下

我們首先需要改寫一個這個函數(shù)

這樣函數(shù)的返回值其實是一個新的對象,和傳入的對象相比,只是將字符串替換成了一個Request函數(shù),要做到有效的提示,我們就需要根據(jù)傳入的參數(shù)類型去推斷出返回值類型

因為傳入?yún)?shù)是一個不確定的對象,所以我們需要使用泛型,在函數(shù)調(diào)用時傳入?yún)?shù)的類型。我們傳入的是如下的一個對象,在TS中我們可以使用typeof來獲取到它的類型,我們可以在使用時將它傳入

這樣,我們就可以根據(jù)傳入的類型去推導(dǎo)返回值的類型,因為我們傳入的對象層級不定,所以這里需要用到遞歸

現(xiàn)在還缺少一個Request類型,因為使用的是axios,我們需要用到一些它提供的類型。我們從傳入的對象中獲取到了method和url,所以就從AxiosRequestConfig中將method和url剔除掉,然后添加了一個path的屬性,用于path傳參時補足url路徑。

這樣我們寫好的方法基本就是這樣的

重寫后的函數(shù),可以根據(jù)傳入的apiObj提示出路徑,也可以在最終調(diào)用方法時提示出參數(shù)的各種類型,做了一些改動后將其發(fā)布到npm,可以搜索api-create-toolkit進行安裝使用。


api-create-toolkit 一個快速,簡單的api生成工具的評論 (共 條)

分享到微博請遵守國家法律
海兴县| 德钦县| 鲜城| 全州县| 临潭县| 手游| 蕉岭县| 郯城县| 句容市| 高碑店市| 木兰县| 钦州市| 始兴县| 贵南县| 怀宁县| 海盐县| 嘉善县| 海安县| 富平县| 吴忠市| 高安市| 团风县| 兰溪市| 广平县| 临汾市| 克什克腾旗| 正蓝旗| 涟水县| 射阳县| 绩溪县| 罗源县| 崇明县| 怀来县| 元氏县| 仲巴县| 镇江市| 平昌县| 韶关市| 洛川县| 西华县| 石家庄市|