Alamofire 多个 URLS 错误处理在一处

Posted

技术标签:

【中文标题】Alamofire 多个 URLS 错误处理在一处【英文标题】:Alamofire multple URLS error handling at one place 【发布时间】:2017-08-12 12:40:04 【问题描述】:

我正在使用 Alamofire,我的服务器会发送错误,例如身份验证失败,这对于大多数 API 来说都很常见,我如何才能仅在原地处理此问题。 因为错误需要在所有响应中进行相同的处理。

【问题讨论】:

你有没有得到任何解决方案? 【参考方案1】:

您可以编写一个函数来处理所有这些错误,如下所示:

func stautsHandler(_ response:HTTPURLResponse?, data:Data?, error:NSError?)
  

    if  response?.statusCode == 400 
      print("bad url")
     else if response?.statusCode == 401 
     print("unauthorized")
     else if response?.statusCode == 403 
      print("Forbidden")
     else if response?.statusCode == 404  
      print("file not found")
      else if response?.statusCode ==  500   
      print("Problem connecting server: 500")
      else if response?.statusCode == -1005 
     print("Lost Network Connectivity")
     else if response?.statusCode == 408  
      print("Connection Error: Please try again later")
     else if error?.code == -1001  
      print("Connection Error: Please try again later")
     else if error?.code == -1009 
      prrint("Connection Error: Please try again later")
    
  

您可以将来自 alamofire 的响应、错误、数据传递给此方法。调用该方法如下:

if response.response?.statusCode == 200 
    //HANDLE YOUR RESPONSE
 else 
        stautsHandler( response.response, data: response.data as Data?, error: response.result.error as NSError?)

【讨论】:

以上是关于Alamofire 多个 URLS 错误处理在一处的主要内容,如果未能解决你的问题,请参考以下文章

Knockout 在一处显示所有错误

如何在一处维护 EF 连接字符串?

Alamofire 多个请求

在一处配置人像模式

在一处配置应用程序

如何在 Swift / Alamofire 中使用 multipartFormData?