저는 iOS와 Swift를 처음 사용하고 AlamoFire 3.4.0을 사용하여 웹 요청을하려고합니다. 내 요청이 성공하면 모든 것이 잘 작동합니다. 그러나 내 요청이 실패하면 서버는 300 이상의 상태 코드와 요청이 실패한 이유에 대한 자세한 정보와 함께 응답 본문에 일부 JSON을 반환합니다. 예를 들어 내가 말하는 API는 각 요청을 인증해야합니다. 어떤 이유로 인증이 실패하면 401을 반환하고 응답 본문의 JSON은 다음과 같습니다.
{"developerMessage" : "Request failed because signature was incorrect."}
이 요청을 만드는 코드는 다음과 같습니다.
let headers = [
"X-Auth-Signature" : signature
]
Alamofire.request(.GET, "https://server.com/get", headers: headers)
.validate()
.responseJSON { response in
switch response.result {
case .Success(let json)
// process JSON response here
case .Failure(let error)
print("Request failed with error: \(error)")
// how can I access the JSON in the response body from here?
}
}
에 대한 호출 .validate()
이 상태 코드가 200-299임을 확인하고 해당 범위를 벗어난 다른 모든 경우 .Failure 케이스가 발생한다는 것을 이해합니다. 그것이 정확하다고 가정하고 401로 돌아 왔을 때 실패 처리기 내부에서 응답 본문의 JSON에 어떻게 액세스 할 수 있습니까? 매우 감사합니다!
case .Failure(let error)
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
트릭을해야한다
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다