Я использую Moya
, Moya_ModelMapper
и RxSwift
для выполнения сетевых запросов. Вот мой пример кода:
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
, которая является типом Enum. Вот исходный код MoyaError.
Спасибо!
error.response.statuscode
неужели это так? Поскольку ответ содержит код состояния. И ошибка содержит ответ. - person milo526   schedule 28.01.2017(error as! MoyaError).response?.statusCode
работает! Большое спасибо - person kamwysoc   schedule 28.01.2017