如何在 swift5 和 Alamofire 5 beta 版本中获取和保存响应?
How to get and save the response in swift5 and Alamofire 5 beta version?
我尝试了一些代码,但我的问题仍未解决。请帮助我,我是 swift 代码的新手。
let parameters: Parameters = ["skey": "XXXXXX","country_code":"91","mobile":"XXX004","user_role":"4"]
AF.request("http://XXXXX/dev/clinic/api/v1/login_otp?", method: .get, parameters: parameters)
.responseJSON { (response) in
switch response.result {
case .success:
if let JSON = response.result.value as? [String: Any] {
let status = JSON["status"] as! String
print(status)
}
case .failure(let error): break
// error handling
}
}
以下是服务器响应
success({
message = "Otp sent successfully on +9170XXXX1004";
status = 1;
})
请尝试以下代码:
switch response.result {
case .success(let value):
if let JSON = value as? [String: Any] {
let status = JSON["status"] as! String
print(status)
}
case .failure(let error): break
// error handling
}
类型 'Result' 的错误值没有成员 'value' 是由于 Alamofire 版本 5,在版本 4.8.2 中结果是类型 <任何>
的结果类型
如果您通过 pod 安装了 Alamofire,那么您应该获得 4.8.2 版本,您的代码可以正常运行。
Alamofire.request("https://jsonplaceholder.typicode.com/todos/1", method: .get)
.responseJSON { (response) in
switch response.result {
case .success(_):
if let JSON = response.result.value as? [String: Any] {
let status = JSON["completed"] as! Bool
print(status)
}
case .failure(_): break
}
}
在这种情况下,Result 类型不是 Result
并使用 Alamofire 而不是 AF
对于 Alamo 5,您必须使用:
response.value
我尝试了一些代码,但我的问题仍未解决。请帮助我,我是 swift 代码的新手。
let parameters: Parameters = ["skey": "XXXXXX","country_code":"91","mobile":"XXX004","user_role":"4"]
AF.request("http://XXXXX/dev/clinic/api/v1/login_otp?", method: .get, parameters: parameters)
.responseJSON { (response) in
switch response.result {
case .success:
if let JSON = response.result.value as? [String: Any] {
let status = JSON["status"] as! String
print(status)
}
case .failure(let error): break
// error handling
}
}
以下是服务器响应
success({
message = "Otp sent successfully on +9170XXXX1004";
status = 1;
})
请尝试以下代码:
switch response.result {
case .success(let value):
if let JSON = value as? [String: Any] {
let status = JSON["status"] as! String
print(status)
}
case .failure(let error): break
// error handling
}
类型 'Result' 的错误值没有成员 'value' 是由于 Alamofire 版本 5,在版本 4.8.2 中结果是类型 <任何>
的结果类型如果您通过 pod 安装了 Alamofire,那么您应该获得 4.8.2 版本,您的代码可以正常运行。
Alamofire.request("https://jsonplaceholder.typicode.com/todos/1", method: .get)
.responseJSON { (response) in
switch response.result {
case .success(_):
if let JSON = response.result.value as? [String: Any] {
let status = JSON["completed"] as! Bool
print(status)
}
case .failure(_): break
}
}
在这种情况下,Result
对于 Alamo 5,您必须使用:
response.value