GSNetwork 1.0.0

GSNetwork 1.0.0

Gloomy Meng 维护。



 
依赖于
GSBasis>= 0
Alamofire~> 5.0.0-beta.5
 

GSNetwork 1.0.0

GSNetwork

CI Status Version License Platform

功能

  • 类别,SPM 安装
  • OAuth 拦截器
  • 等等…

用法

简单的网络组件,使用两个文件实现简单明了的 API 使用。

支持多种数据结构返回,同时确保类型检查。

统一的错误类型和标准错误处理。

依赖于 Alamofire

定义 API 列表

首先,使用一个 GSNetworkGSNetworkConfig 进行初始化。

Network.config(config: GSNetworkConfig.init().then {
    $0.host = ""
    $0.customHeader = [:]
    //..//
})

其次,对于不同模块,需要定义不同的 APIRoute

enum UserRoute: APIRoute {
    
    case userInfo(id: String)
    case upateInfo(user: User)
    case logout
    case login(username: String, password: String)
    
    var uri: String {
        switch self {
        case .userInfo(let id):                     return ""
        case .upateInfo(let user):                  return ""
        case .logout:                               return ""
        case .login(let username, let password):    return ""
        }
    }
    
    var parameters: [String : Any] { return [:] }
    
    var method: HTTPMethod {
        switch self {
        case .userInfo(let id):                     return .get
        case .upateInfo(let user):                  return .post
        case .logout:                               return .get
        case .login(let username, let password):    return .get
        }
    }
    
    var encodeType: HTTPEncodeType { return .json }
    
    func customHost() -> String? { return nil }
}

最后,开始请求,如下所示

UserRoute.logout.start(success: { (rs: APIReturn<Bool>) in
    // do something...
})

需求

  • iOS 10.0+ / macOS 10.12+ / tvOS 10.0+ / watchOS 3.0+
  • Xcode 10.2+
  • Swift 5+

安装

CocoaPods

GSNetwork可以通过CocoaPods获取。安装时,只需在Podfile中添加以下行

pod 'GSNetwork'

作者

[email protected], [email protected]

许可

GSNetwork遵循MIT许可。有关更多信息,请查看LICENSE文件。