moya + RxSwift 进行网络请求

1.关于moya

如在OC中使用AFNetworking一般,Swift我们用Alamofire来做网络库.而Moya在Alamofire的基础上又封装了一层:

moya

官方说moya有以下特性(我也就信了):

  • 编译时检查正确的API端点访问.
  • 使你定义不同端点枚举值对应相应的用途更加明晰.
  • 提高测试地位从而使单元测试更加容易.

2.开始

1.创建枚举API

就像这样:

enum APIManager {
    case getNewsLatest//获取最新消息
    case getStartImage// 启动界面图像获取
    case getVersion(String)//软件版本查询
    case getThemes//主题日报列表查看
    case getNewsDetail(Int)//获取新闻详情
}

2.实现TargetType协议

就像这样:

extension APIManager: TargetType {

    /// The target's base `URL`.
    var baseURL: URL {

        return URL.init(string: "http://news-at.zhihu.com/api/")!
    }

    /// The path to be appended to `baseURL` to form the full `URL`.
    var path: String {

        switch self {

        case .getNewsLatest:
            return "4/news/latest"

        case .getStartImage://start-image 后为图像分辨率,接受任意的 number*number 格式, number 为任意非负整数,返回值均相同。
            return "4/start-image/1080*1776"

        case .getVersion(let version)://URL 最后部分的数字代表所安装『知乎日报』的版本
            return "4/version/ios/" + version

        case .getThemes:
            return "4/themes"

        case .getNewsDetail(let id):
            return "4/news/\(id)"

        }


    }

    /// The HTTP method used in the request.
    var method: Moya.Method {

        return .get
    }

    /// The parameters to be incoded in the request.
    var parameters: [String: Any]? {

        return nil
    }

    /// The method used for parameter encoding.
    var parameterEncoding: ParameterEncoding {

        return URLEncoding.defa
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值