Anonymous
API дает неверный ответ
Сообщение
Anonymous » 25 янв 2025, 14:10
Я написал диспетчер API с использованием Alamofire в следующем коде, и он работает нормально. < /p>
Код: Выделить всё
func apiGet(url:String,parameters:[String:Any] , completion: @escaping (_ data:[String:Any]? , _ error:Error?) -> Void)
{
if UIApplication.shared.isNetworkActivityIndicatorVisible == true
{
let manager = Alamofire.SessionManager.default
manager.session.configuration.timeoutIntervalForRequest = 120
manager.request(url, method:.get, parameters: parameters, encoding: URLEncoding.default, headers: headersintoApi()).responseJSON { (response:DataResponse) in
UIApplication.shared.isNetworkActivityIndicatorVisible = false
if response.result.isSuccess
{
if let data = response.result.value as? [String:Any]
{
completion(data , nil)
}else{
Helper.Alertmessage(title: "Alert", message: (response.error?.localizedDescription)!, vc: nil)
completion(nil,response.error)
}
}
else
{
Helper.Alertmessage(title: "Alert", message: (response.error?.localizedDescription)!, vc: nil)
completion(nil,response.error)
print("App error mesage is: \(String(describing: response.result.error))")
}
}
}else{
Helper.Alertmessage(title: "Alert!", message: "Please Check Internet Connection", vc: nil)
}
}
но в некоторых случаях ответ API приходит в виде [[String:Any]] и из-за этого происходит сбой. Есть ли у кого-нибудь предложения, как это исправить?
Подробнее здесь:
https://stackoverflow.com/questions/580 ... g-response
1737803451
Anonymous
Я написал диспетчер API с использованием Alamofire в следующем коде, и он работает нормально. < /p> [code] func apiGet(url:String,parameters:[String:Any] , completion: @escaping (_ data:[String:Any]? , _ error:Error?) -> Void) { if UIApplication.shared.isNetworkActivityIndicatorVisible == true { let manager = Alamofire.SessionManager.default manager.session.configuration.timeoutIntervalForRequest = 120 manager.request(url, method:.get, parameters: parameters, encoding: URLEncoding.default, headers: headersintoApi()).responseJSON { (response:DataResponse) in UIApplication.shared.isNetworkActivityIndicatorVisible = false if response.result.isSuccess { if let data = response.result.value as? [String:Any] { completion(data , nil) }else{ Helper.Alertmessage(title: "Alert", message: (response.error?.localizedDescription)!, vc: nil) completion(nil,response.error) } } else { Helper.Alertmessage(title: "Alert", message: (response.error?.localizedDescription)!, vc: nil) completion(nil,response.error) print("App error mesage is: \(String(describing: response.result.error))") } } }else{ Helper.Alertmessage(title: "Alert!", message: "Please Check Internet Connection", vc: nil) } } [/code] но в некоторых случаях ответ API приходит в виде [[String:Any]] и из-за этого происходит сбой. Есть ли у кого-нибудь предложения, как это исправить? Подробнее здесь: [url]https://stackoverflow.com/questions/58027239/api-gives-wrong-response[/url]