由于现在的请求代码每个人都是自己写的,既没有一个统一的入口,也不方便框架的替换。
所以写了一个请求管理的中间层。
设计稿如下:
- 1.请求配置。
RequestConstant? 类的内部枚举类RequestTag, 定义有哪些请求。
定义包括:
- 相对路径
- url类型,主要是和host相关。会和相对路径一起拼接成完整的url。
- 方法,目前只有get, post, json。他决定了RequestManager如何构造请求体。默认是post。
- 2.请求调用入口,业务相关。
RequestFactory?
这个类是使用类,业务相关调用http请求的唯一入口。
主要负责了构造参数给RequestManager。
请求成功或失败会回调ResponseHandler的相应方法。
- 3.请求实际发起者。功能相关。
RequestManager会根据RequestTag, 发起实际的请求,
这个类是业务无关的,业务相关的定义在RequestTag中。
同时这个类会做些基本的判断,如是否有网,是否需要登录。如同达不到发请求的要求,则直接调用ResponseHandler接口的onStart(RequestTag? tag, Code code)方法。
把出错原因作为参数code返回。
- 4.测试单元相关。
提供了两个类,用于测试请求的。
TestCenterActivity?.java和 UrlTestActivity?.java
如有接口变动,修改代码,重新测试一遍。