我正在使用Moya
,Moya_ModelMapper
和RxSwift
來執行網絡請求。 這裏是我的示例代碼:如何從`MoyaError`獲取錯誤狀態碼?
let provider = RxMoyaProvider<MyEndpoint>()
let observable: Observable<RegistrationResponse> = provider.request(.register(firstName: "", lastName: "", email: "", password: "")).mapObject(type: RegistrationResponse.self)
observable.subscribe {
[weak self] (event: Event<RegistrationResponse>) in
switch event {
case .next(let response):
print(response)
case .error(let error):
print(error)
case .completed:
break
}
}
一切工作正常,但我不知道該怎麼當我收到例如來自服務器的409
狀態代碼響應類型得到一個錯誤代碼。 如果我打印錯誤,我會得到:
jsonMapping(Status Code: 409, Data Length: 0)
,但我不知道如何通過代碼來獲得此狀態代碼。錯誤是MoyaError
這是一個枚舉類型。這是MoyaError的source code。
謝謝!
'error.response.statuscode' could be it it?由於響應確實包含狀態碼。錯誤包含響應。 – milo526
'(錯誤!!MoyaError).response?.statusCode'正常工作!非常感謝 – kamwysoc