一般情况下,从业务方从API中请求JSON数据时,一般都会经过以下三步:
1 | --------1------------2---------- |
当然,大部分情况下,原始数据就是JSON,所以第一步基本上只是对接受数据的一个类型转换。一般在网络层中,由组件方提供1步骤,而业务方往往在网络组件的回调中提供步骤2。简单的转换逻辑明了了,接下来就可以试下用Moya实现步骤1,ObjectMapper实现步骤2。
在结合RxSwift+Moya+ObjectMapper三者之后,常规JSON数据的获取与解析变得更加精简。以近期编写的一个V2ex API为例,获取个人信息接口如下:
1 | func fetchMemberInfo(_ username: String? = V2exAppContext.shared.currentUsername, |
嗯,没错,最终的调用就是这么简单明了!