无法从Alamofire 3.3.0获取服务器错误消息

Jos*_*hba 6 xcode ios swift alamofire

这是我第一次使用Alamofire它,它让我非常沮丧.

我正在使用以下代码在后端API上调用注册API

Alamofire.request(.POST, "\(self.authBaseURL)/signup", parameters: params, headers: headers, encoding: .JSON)
            .validate(statusCode: 200..<300)
            .validate(contentType: ["application/json"])
            .responseJSON { response in
                switch response.result {
                case .Success(let JSON):
                    print("Success with JSON: \(JSON)")
                    success(updatedUser)
                case .Failure(let error):
                    print("Request failed with error: \(error)")
                    failure(error)
                }

        }
Run Code Online (Sandbox Code Playgroud)

问题是我在.Failure函数中获得的错误对象不包含服务器端消息.我试图访问其余的对象(请求,响应,数据,结果)我无法在任何地方找到我的错误消息

无论服务器消息说什么,我总是会收到以下错误.请求失败并显示错误:

FAILURE:Error Domain = com.alamofire.error Code = -6003"响应状态代码不可接受:400"UserInfo = {NSLocalizedFailureReason =响应状态代码不可接受:400}

我在做什么有什么不对吗?

Swift 2.2,AlamoFire 3.3.0,Xcode 7.3

Jos*_*hba 11

我设法让它按照我想要的方式工作,通过删除状态验证并手动检查statusCode

Alamofire.request(.POST, "\(self.authBaseURL)/signup", parameters: params, headers: headers, encoding: .JSON)
            .validate(contentType: ["application/json"])
            .responseJSON { response in
                if response.response?.statusCode == 200 {
                    print("Success with JSON: \(response.result.value)")

                    success(updatedUser)
                }
                else {
                    let error = response.result.value as! NSDictionary
                    let errorMessage = error.objectForKey("message") as! String
                    print(errorMessage)
                    failure(errorMessage)
                }


        }
Run Code Online (Sandbox Code Playgroud)