五月天青色头像情侣网名,国产亚洲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生成工具的評論 (共 條)

分享到微博請遵守國家法律
平武县| 大厂| 司法| 万全县| 博乐市| 丹凤县| 紫阳县| 乳山市| 如皋市| 库伦旗| 杂多县| 渭南市| 军事| 绩溪县| 德兴市| 日照市| 荣成市| 汤阴县| 宜宾县| 东乡| 华蓥市| 霍州市| 仁怀市| 克拉玛依市| 吉木萨尔县| 瑞昌市| 曲沃县| 西贡区| 湘乡市| 深水埗区| 永善县| 揭东县| 宁明县| 商南县| 将乐县| 保靖县| 大方县| 惠来县| 陵水| 上犹县| 南通市|