Ich habe Alamofire in einem meiner iOS-Projekte verwendet, aber kürzlich, als ich auf Alamofire 3.0 aktualisiert habe, hat sich das Format leicht geändert, um Ergebnisse zurückzuliefern. In meinem Fall möchte ich eine Login-API aufrufen und das Ergebnis zurückgeben lassen. Es gibt ein paar Fehler, die passieren können, also gebe ich immer das Ergebnis der API zurück, was das Problem ist, also möchte ich, dass mein Code in einen Fehlerblock geht, wenn die Antwort 400 ist und dann die Nachricht von meiner API als Teil einbeziehe der Fehler, aber ich kann nicht scheinen so die Antwortdaten aus der Anfrage zu erhalten, wenn das Ergebnis ein Fehler ist.Antwortdaten von Alamofire erhalten Fehler
Hier ist mein Code:
Alamofire.request(
method,
Constants.baseURL + route,
parameters: fullParameters)
.validate()
.responseJSON { response in
let json = JSON(response.result.value!)
switch response.result {
case .Success:
completion?(json["data"])
case .Failure(let errorData):
failure?(errorData, json["errmsg"])
}
}
Was dies geschieht, das heißt, wenn die Antwort ein Fehler ist, es bricht, weil response.result.value Null ist, aber ich würde es die JSON sein mag kam von der API zurück, egal was. Wenn die Antwort erfolgreich ist, funktioniert sie dagegen perfekt.
Das hat es gelöst, vielen Dank! :) – Henry