接口入参的两中不同定义方法优缺点

我们在写接口请求的时候,前端参数是很多的,而且还不确定此时我们有不同的写法,大家都知道typescript(简称ts)出来后,很多人也在使用,它有严格的类型校验,同时写的时候也会相对耗时间,因为每个参数都要写的,相当于把接口文档参数全写了一遍,但是如果为了后续接口改动,尽量少改动 ,也可以用兼容性的写法

1、如下的第一种,定义了具体的入参
优点:1、接口所有参数等一目了然

2、方便维护,遇到问题更便于定位

缺点:1、 相对来说,写代码更费时间一点,因为要写各种数据及类型定义,tsx中使用到也要去引入保持一致

2、虽然是用的ts,但是相当于没有很好地使用ts类型

2、第二种则没有定义具体的类型,只定义了key是string,然后值可以是任意类型,相当于没有校验入参值的类型,

优点:这种以后接口加减参数,这里不用改动,只要调用时传递对应的参数即可

缺点:1、 没有做严格的数据校验,如果参数类型问题(如:number 、string等接收参数类型问题,)参数多的话,不好定位,或者一些内部数据类型转换报错也不好定位

2、 别人看代码,无法知道这个接口要传递什么参数,需要查看接口文档才可以,相对来说,如果接口文档没有及时更新,后续不好维护,接口依赖于接口文档

总结:(1)如果用ts,建议尽量把参数写具体,便于以后维护
(2)可以引入eslint,让代码更健壮

(3)强烈建议在vscode装一个fittencode插件,对ts飘红等提示非常有用,可以大大提高开发效率

相关推荐
|晴 天|8 小时前
Vue 3 + TypeScript + Element Plus 博客系统开发总结与思考
前端·vue.js·typescript
猫3289 小时前
v-cloak
前端·javascript·vue.js
AC赳赳老秦9 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw
旷世奇才李先生9 小时前
Vue 3\+Vite\+Pinia实战:企业级前端项目架构设计
前端·javascript·vue.js
Ulyanov10 小时前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真
聚美智数10 小时前
企业实际控制人查询-公司实控人查询
android·java·javascript
herinspace12 小时前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别
这里不能睡觉14 小时前
js 实现 Blob、File、ArrayBuffer、base64、URL 之间互转
javascript
拉拉肥_King14 小时前
Ant Design Table 横向滚动条神秘消失?我是如何一步步找到真凶的
前端·javascript
无巧不成书021814 小时前
2026最新Next-AI-Draw-io全攻略:AI驱动专业图表生成,Docker/Node.js本地部署零踩坑指南
人工智能·docker·node.js·next-ai-draw-io