2016-03-27 19 views
1

アラモファアを使用してhttpリクエストを処理していますが、alamofireは200〜299の間のHTTPレスポンスステータスコードの範囲のみを受け入れることが判明しました。以下はカスタマイズしたリターンコードの範囲で追加したコードですが、動作しません。レスポンスコードは10050です。私がここで何かを見逃しているかどうか教えてください。 アラモファイア返信ステータスコードの問題

Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"]) 
    .validate() 
    .responseJSON { response in 
     switch response.result { 
     case .Success: 
      print("Validation Successful") 
     case .Failure(let error): 
      print(error) 
     } 
    } 

しかし、あなたは Manual Validationにしたい範囲を含むことができ、それは非常に動作します:

let configuration = NSURLSessionConfiguration.defaultSessionConfiguration() 
      configuration.timeoutIntervalForResource = 10 // seconds 
      configuration.timeoutIntervalForRequest = 10 
      let manager = Alamofire.Manager(configuration: configuration) 
     manager.request(.POST, "http://localhost:880/login", 
      parameters:["mobile" : mobile, "password" : password], 
      encoding: .URL) 
      .validate(statusCode: 200..<50000) 
      .response(queue: dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), completionHandler: { 
       (request, response, data, error) in 
       completeHandler(data, response, error) 

      }) 

答えて

0

Alamofireにのみ、このコードのように、Automatic Validation200...299以内の範囲でHTTPステータスコードの範囲を受け入れますうまく:

Alamofire.request(.GET, "https://realm.io/") 
     .validate(statusCode: 200..<500) 
     .responseJSON { response in 

      switch(response.result) { 
      case .Success(let value): 
       print(value) 
      case .Failure(_): 

       guard let statusCode = response.response?.statusCode else { return } 
       print(statusCode) 
      } 
    } 

このアドレスは、私の国から403エラーを返し、Alamofireを使用して非常にうまく機能し、たとえ自分自身を検証し、対処する必要はありません:

Alamofire.request(.GET, "https://realm.io/").responseJSON { response in 

     switch(response.result) { 
     case .Success(let value): 
      print(value) 
     case .Failure(_): 

      guard let statusCode = response.response?.statusCode else { return } 
      print(statusCode) 
     } 
    } 

私は、これはあなたを助ける願っています。

+0

私は手動検証で試しましたが、うまくいかないようです。私は自分の投稿を更新し、そこに自分のコードを追加しました。私がここで逃したものを教えてくれませんか? –

関連する問題