Habit21D / SwiftHttpRequest

Swift5.0:基于Alamofire的网络封装及基于Codable的model解析
163 stars 27 forks source link

SwiftHttpRequest(Swift5)

这里主要介绍了swift版本的网络请求,封装中带有Progress及错误信息处理,缓存等的统一解决方案

简书地址https://www.jianshu.com/p/caa1a57e7423


Demo说明

Demo主要介绍Swift的网络部分,代码已更新到swift5.0

本demo内容可直接用于项目开发

  1. Moya文件夹中:MoyaBase是对Moya的封装。/Moya/MoyaBase/组建是可以不用更改的,当然,你也可以自定义组件
  2. MoyaConfig.swift需要根据项目进行配置。每一项代码中都有明确的注释。
  3. HttpRequest.swift需要自己重写跳转登录的代码,如果用不到可以删除或者将HttpCode.needLogin改为不可能用到的值
  4. MoyaAPI里是后台接口及model文件
  5. 提供跨类型解析方案,提供codable默认值解决方案
一. 网络部分

请求均采用 Alamofire

请求封装方式分为:

二. Progress及信息处理

加载动画及弹出框采用 MBProgressHUD

三. 数据解析

在swift4之前,我一直用的是HandyJSON(下面有介绍)。在swift4之后我把model的解析转到到官方的Codable。

四. 缓存

缓存部分没有接入数据库,而是直接用了write to file,并将缓存封装到网络请求方法中

Demo所用接口

接口:http://app.u17.com/v3/appV3_3/ios/phone/rank/list 请求方式:get

作者语:

希望能达到抛砖引玉的效果

也给新学习swift的朋友一个简单的网络处理的方式

大家互相帮助,互相学习

如果对你有帮助还请给个Star,谢谢🙏


版本: