测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2016年10月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Alex Corlatti 维护。
AlamofireRouter 是一个简单的 Alamofire 路由器。如果您需要 Swift 2.3 版本,请使用 0.1.0 的 Pod 版本
要运行示例项目,请克隆仓库,并首先从 Example 目录中运行 pod install
。
您必须创建一个符合 RouterProtocol
的 enum
,因此您需要必需的变量 router
和 URLRequest
函数。
在 router
中,您必须设置您的 API 基础 URL。
在 URLRequest
中,您可以通过 router.endPoint
函数创建端点。
router.endPoint
函数有四个参数
path: String
端点的路径method: Alamofire.HTTPMethod
请求方法,默认为 .get
parameters: [String : Any]
如果需要,参数,默认为 [ : ]
encoding: ParameterEncoding
编码类型,默认为 URLEncoding.default
headers: [[String: String]]
如果需要,头部参数,默认为 [[:]]
import AlamofireRouter
enum MyAPI: RouterProtocol {
case myRequest(myParameter: String)
case otherRequest(otherParameter: [String: Any])
case allPersonalizedRequest(param: String)
var router: Router { return Router(baseURL: "http://YOUR_API_BASE_URL.com/") }
public func asURLRequest() throws -> URLRequest {
switch self {
case .myRequest(let myParameter):
return router.endPoint(path: "mypath/\(myParameter)")
case .otherRequest(let otherParameter):
return router.endPoint(path: "otherPath", method: .post, parameters: otherParameter)
case .allPersonalizedRequest(let param):
return router.endPoint(path: "myPath", method: .patch, parameters: ["par" : param], encoding: JSONEncoding.prettyPrinted, headers: [["Content-type": "json"]])
}
}
}
Alamofire.request(MyAPI.myRequest(myParameter: "aValue")).response { resp in
// Do some stuff
}
let netManager = AlamofireUIManager.sharedInstance
netManager.request(MyAPI.myRequest(myParameter: "aValue"), completionHandler: { json in
// Do some stuff
})
Alex Corlatti,[email protected]
AlamofireRouter 可在 MIT 许可下使用。有关更多信息,请参阅 LICENSE 文件。