二十分钟封装,一个 App 前后台 Http 交互的实现
資深大佬 : rufeng008 4
在 React Native 开发过程中,几乎所有的 app 都需要使用到 Http 请求,所以 fetch 的封装必不可少,由于不同 app 的请求参数,解析规则,token 机制等完全不一样,所以在大多数 App 开发中,前后台 Http 请求的实现都是开发者自己封装的。
封装一个前后台 Http 请求实现需要多久?
可能有人回答是 1 小时,也有 3 、5 小时甚至更长时间的,或者也有说先这样封装个大概,等到需求不满足的时候再改。
花费 1 小时的时间不一定短,花费 3 、5 的时间也不一定算长,具体要看前后台交互的复杂程度与开发者对交互实现的封装程度。
那这里我们就引出了一个问题了,我们通常说的 app 的 Http 请求 [封装] ,到底封装的是什么,我们需要做哪些工作,能使用得 app 的接口请求更简单,易用且有较高的灵活性?在我看来这个“封装”主要分两个部分:
-
数据交换 层面的封装,即:
- 实现前后台的互通,支持服务器要求的数据交换类型、格式等
- 调用者可以自由设置请求的 header 、params 等参数,程序根据不同的设置也能保证请求能正确的发送给服务端并返回相应的结果
- 支持超时、日志打印等一些基本功能
-
业务逻辑 层面的封装,即:
- 入参:公共部分 header 、params 的参数处理,避免在具体接口请求是传入不必要与接口无关的参数
- 出参:对后台返回的数据按约定好的规则做一层基础解析处理,避免在具体接口数据解析的时候做一些无意义的操作
从投入的时间上来看: 第一部分基本上要花掉开发者 80%以上的时间来封装 第二部分需要消耗的时间可能不足 20% ** [以此推算,按上面 1 个小时的封装时间,用在逻辑封装部分的时间也就 12 分钟左右
大佬有話說 (2)