Swift - FAILURE:Alamofire中的responseValidationFailed(StatusCode 401)

时间:2018-01-02 08:34:53

标签: ios swift http alamofire http-status-code-401

我正在使用Swift3开发一个iOS应用,并使用Alamofire作为网络库。但是responseValidationFailed请求Status Code: 401时出现HTTP错误。 API和其他配置是正确的,但它会给出错误。这是我的网络电话 -

//Register user
    private func registerUser() -> Void {
        Alamofire.request(
            URL(string: "my_url")!,
            method: .post,
            parameters: ["email": email!, "gender": gender, "age":"20" ,"password": password!])
            .validate(statusCode: 200..<300)
            .responseJSON { (response) -> Void in
                print(self.CLASS_NAME+" -- registerUser()  -- response -- "+response.debugDescription)
              }

        }
    }

这是我的debugDescription -

RegistrationViewController -- registerUser()  -- response -- [Request]: POST http://beta.thesmartclubapp.com:3000/api/register/other/
[Response]: <NSHTTPURLResponse: 0x60000022f100> { URL: http://beta.thesmartclubapp.com:3000/api/register/other/ } { Status Code: 401, Headers {
    Connection =     (
        "keep-alive"
    );
    "Content-Length" =     (
        118
    );
    "Content-Type" =     (
        "application/json; charset=utf-8"
    );
    Date =     (
        "Tue, 02 Jan 2018 08:22:25 GMT"
    );
    Etag =     (
        "W/\"76-3KZXMvbalkbJsfbjY65r3dx/Mak\""
    );
    "Strict-Transport-Security" =     (
        "max-age=15552000; includeSubDomains"
    );
    Vary =     (
        Origin
    );
    "X-Content-Type-Options" =     (
        nosniff
    );
    "X-DNS-Prefetch-Control" =     (
        off
    );
    "X-Download-Options" =     (
        noopen
    );
    "X-Frame-Options" =     (
        SAMEORIGIN
    );
    "X-XSS-Protection" =     (
        "1; mode=block"
    );
} }
[Data]: 118 bytes
[Result]: FAILURE: responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(401))
[Timeline]: Timeline: { "Request Start Time": 536574145.442, "Initial Response Time": 536574146.054, "Request Completed Time": 536574146.310, "Serialization Completed Time": 536574146.310, "Latency": 0.613 secs, "Request Duration": 0.868 secs, "Serialization Duration": 0.000 secs, "Total Duration": 0.868 secs }

我在Google和Stackoverflow上搜索过。其他解决方案对我不起作用。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您需要提供名称(并确认密码,检查服务设置的所有规则),因为服务需要。查看邮递员获得的结果。

enter image description here

更新的旧答案:删除.validate(statusCode: 200..<300)是真正原因的一部分,