我已经开始重构我的Alamofire API调用,以将它们保存在单独的文件中。唯一的问题是我不知道如何返回状态码。试图返回状态代码的Swift alamofire重构
API文档:
static func getCategories(_ catId: Int, response: @escaping (JSON) ->()) {
let urlString = baseURL + ResourcePath.categories(catId: catId).description
Alamofire.request(urlString, encoding: JSONEncoding.default, headers: headers).responseJSON{ (responseData) -> Void in
let cCatData = JSON(responseData.result.value ?? [])
response(cCatData)
}
}
然后在我的VC:
Api.getCategories(catId) { (JSON) ->() in
self.categories = JSON["catData"]
self.tableView.reloadData()
}
但我需要知道,如果状态代码为200/400/404/422/500,我不想使用.validate()函数,我想通过状态代码
通常,如果我将在同一个文件中的一切,我会得到状态代码:
Alamofire.request("https://www.something", parameters: parameters, encoding: JSONEncoding.default, headers: headers)
.responseJSON() { response in
if let statusCode = response.response?.statusCode {
if statusCode == 200 {
}
}
所以我怎么在其他文件中的状态代码和数据? – user2636197
我已更新我的帖子。请检查。此代码使用swift 3.0 alamofire 4.0.1 – nferocious76
ahh是好点...但如果它是成功的,它将始终落入代码200.如果错误然后处理有关该错误的错误代码。这就是我在这里所做的......但如果你有建议,我愿意听到它。 (y) – nferocious76