最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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生成工具的評論 (共 條)

分享到微博請遵守國家法律
大厂| 湘潭市| 武强县| 淳安县| 略阳县| 营山县| 潼关县| 滦平县| 紫云| 临高县| 广汉市| 枝江市| 萝北县| 普定县| 江川县| 余庆县| 深水埗区| 红桥区| 阜新市| 和田市| 汶上县| 准格尔旗| 库尔勒市| 新巴尔虎右旗| 嘉黎县| 曲水县| 文昌市| 临桂县| 郑州市| 雅江县| 宾阳县| 龙南县| 郓城县| 囊谦县| 吉安县| 黄梅县| 仁寿县| 汶上县| 铜梁县| 浪卡子县| 三明市|