SGAPIRequest基于 Moya 和 PromiseKit 的网络请求层

联合创作 · 2023-09-29 07:40

SGAPIRequest 是用 Moya + PromiseKit 创建具有序列化及缓存功能的网络请求层。

第一次使用Swift来做项目,第一步当然就是折腾架构,由于项目时间比较宽裕,使用了较多的时间来进行学习参照,最后使用了这样的架构来作为这个产品的网络层,满足了项目基本的需求,肯定有不少的缺陷,权当各位参考。

先来看看最终我们要达成的目标,下面是一段异步请求接口的代码,这段代码具有网络请求、序列化及基本的缓存功能

firstly { () -> Promise<[ArticleCategoryModel?]?> in
    return CallApi(DFAPI.navigations, isCached: true)
}.then { [weak self] (data) -> Void in
    self!.navigations = data!
}

这一段请求,由以下4个库实现:

  1. Moya:负责网络请求

  2. PromiseKit:负责干净优雅的链式异步调用

  3. HandyJSON:负责序列化、反序列化

  4. AwesomeCache:负责缓存请求结果及缓存过期

项目Demo

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报