Uderzam w API, które od czasu do czasu rzuca błąd HTTP 403, a ciało odpowiedzi może podać dodatkowe informacje w formie jsona, jednak w moim życiu nie mogę uzyskać informacji z powrotem od obiekty odpowiedzi Alamofire. Widzę informacje w narzędziach dla deweloperów, jeśli kliknę w API przez chrome. Oto mój kod:Jakikolwiek sposób uzyskania treści odpowiedzi podczas błędów HTTP?
Alamofire.request(mutableURLRequest).validate().responseJSON() {
(response) in
switch response.result {
case .Success(let data):
if let jsonResult = data as? NSDictionary {
completion(jsonResult, error: nil)
} else if let jsonArray = data as? NSArray {
let jsonResult = ["array" : jsonArray]
completion(jsonResult, error: nil)
}
case .Failure(let error):
//error tells me 403
//response.result.data can't be cast to NSDictionary or NSArray like
//the successful cases, how do I get the response body?
}
Mam pytani prawie każdy obiekt dołączony do odpowiedzi, ale nie wydaje mi dać organizmowi odpowiedź z powrotem w przypadku błędów HTTP. Czy jest jakieś obejście, czy coś, czego tu brakuje?
A teraz (XC8.1, Swift 3) kodowanie to: 'String (dane: dane, kodowanie: String.Encoding.utf8)' – Dilapidus
Jeśli używasz 'SwiftyJSON', możesz również:' JSON (response.data!) " –