요청 실패에 대한 HTTP 응답 상태 코드 (예 : 400, 401, 403, 503 등)를 검색하고 싶습니다 (이상적으로는 성공에도 해당). 이 코드에서는 HTTP Basic으로 사용자 인증을 수행하고 있으며 사용자가 비밀번호를 잘못 입력하면 인증이 실패했다는 메시지를 사용자에게 표시 할 수 있기를 원합니다.
Alamofire.request(.GET, "https://host.com/a/path").authenticate(user: "user", password: "typo")
.responseString { (req, res, data, error) in
if error != nil {
println("STRING Error:: error:\(error)")
println(" req:\(req)")
println(" res:\(res)")
println(" data:\(data)")
return
}
println("SUCCESS for String")
}
.responseJSON { (req, res, data, error) in
if error != nil {
println("JSON Error:: error:\(error)")
println(" req:\(req)")
println(" res:\(res)")
println(" data:\(data)")
return
}
println("SUCCESS for JSON")
}
불행히도 생성 된 오류는 HTTP 상태 코드 409가 실제로 수신되었음을 나타내지 않는 것 같습니다.
STRING Error:: error:Optional(Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo=0x7f9beb8efce0 {NSErrorFailingURLKey=https://host.com/a/path, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=https://host.com/a/path})
req:<NSMutableURLRequest: 0x7f9beb89d5e0> { URL: https://host.com/a/path }
res:nil
data:Optional("")
JSON Error:: error:Optional(Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo=0x7f9beb8efce0 {NSErrorFailingURLKey=https://host.com/a/path, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=https://host.com/a/path})
req:<NSMutableURLRequest: 0x7f9beb89d5e0> { URL: https://host.com/a/path }
res:nil
data:nil
또한 내 서버 측에서 오류에 대한 텍스트 설명을 거기에 배치하기 때문에 오류가 발생하면 HTTP 본문을 검색하는 것이 좋습니다.
질문
2xx가 아닌 응답에서 상태 코드를 검색 할 수 있습니까?
2xx 응답시 특정 상태 코드를 검색 할 수 있습니까?
2xx가 아닌 응답에서 HTTP 본문을 검색 할 수 있습니까?
감사!