Comment je peux gérer les erreurs dans le bloc d'achèvement si j'obtiens une erreur du côté serveur. Voici la classe de mappeur d'objet pour la connexion.Traitement des erreurs dans swift 3 en utilisant objectMapper et alamofire
class Login: Mappable {
var result: LoginData?
var success: Bool?
var error: String?
required init?(map: Map){
}
func mapping(map: Map) {
result <- map["data"]
success <- map["success"]
error <- map["error"]
}
}
class LoginData: Mappable {
var name: String?
var title: String?
var token: String?
var imageUrl: String?
required init?(map: Map){
}
func mapping(map: Map) {
name <- map["name"]
title <- map["title"]
token <- map["token"]
name <- map["name"]
imageUrl <- map["imageUrl"]
}
}
Voici mon appel api de contrôleur de vue.
func loginMethod(){
let postData = ["username":loginDict.object(forKey: KUserUserId) as! String,
"password": loginDict.object(forKey: KUserPass) as! String]
userLoginHttp(parameters: postData){ completion in
self.getUserLoginResponse(result: completion)
}
}
func getUserLoginResponse(result: LoginData) {
// Here i do further
}
C'est la classe mthod de réseau où je tire le service
// Service web Connexion utilisateur
func userLoginHttp(parameters:Parameters, completion:@escaping (_
result:LoginData)->()) {
let defaultObject = UserDefaults.standard
var headerToken = String()
if let x = defaultObject.object(forKey: KDeviceToken)
{
headerToken = x as! String
}
else{
headerToken = ""
}
let headers = ["fcmToken": headerToken]
Alamofire.request(KLoginUrl, method: .post, parameters: parameters,encoding: JSONEncoding.default, headers: headers)
.validate()
.responseObject{ (response: DataResponse<Login>) in
switch response.result{
case .success:
let value = response.result.value
completion((value?.result)!)
case .failure(let error):
print(error.localizedDescription)
}
}
}
Alors, comment je peux gérer l'erreur à mon avis bloc d'achèvement du contrôleur?
peut vous envoyer votre réponse Web –
actuellement erreur n'est pas traitée du côté serveur. Mais je veux savoir comment je peux gérer si l'erreur vient du côté serveur. Moyens que j'utilise le blocage d'achèvement sur le succès puis comment je peux utiliser le bloc d'achèvement pour l'erreur? – user3655325