provider = MoyaProvider<GitHub>()
provider.request(.zen) { result in
switch result {
case let .success(moyaResponse):
let data = moyaResponse.data
let statusCode = moyaResponse.statusCode
// do something with the response data or statusCode
case let .failure(error):
// this means there was a network failure - either the request
// wasn't sent (connectivity), or no response was received (server
// timed out). If the server responds with a 4xx or 5xx error, that
// will be sent as a ".success"-ful response.
}
}
项目推荐
项目地址:https://github.com/Moya/Moya
类别:Swift
项目后续更新计划:项目版本已更新到14.0,使用非常多,作者持续维护中。
项目描述:Moya是一个基于Alamofire开发的,轻量级的Swift网络层框架。Moya的可扩展性非常强,可以方便的与RXSwift、PromiseKit、ObjectMapper结合。
推荐理由:Moya非常适合纯Swift搭建的项目,它提供一些网络抽象层,经过充分地封装,并直接调用 Alamofire。使用起来足够简单,可以很轻松地应对常见任务,也非常全面,应对复杂任务也同样容易。并且Moya 有一个很棒的社区,贡献者提供了很多有用的扩展。
示例代码: