如何使用Alamofire读取错误请求(状态代码400)的json数据

如何使用Alamofire读取错误请求(状态代码400)的json数据,json,alamofire,Json,Alamofire,我正在从终端本地调用RESTAPI。情况如下: http -v -f --timeout=60 GET 'http://localhost:8080/api/v1/public/users/signin?email=myemail@email.com&password=mypassword' 它返回以下输出: GET /api/v1/public/users/signin?email=myemail@email.com&password=mypassword HTTP/1.1

我正在从终端本地调用RESTAPI。情况如下:

http -v -f --timeout=60 GET 'http://localhost:8080/api/v1/public/users/signin?email=myemail@email.com&password=mypassword'
它返回以下输出:

GET /api/v1/public/users/signin?email=myemail@email.com&password=mypassword HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Host: localhost:8080
User-Agent: HTTPie/0.8.0



HTTP/1.1 400 Bad Request
Content-Type: application/json
Date: Mon, 28 Mar 2016 16:59:08 GMT
Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Sun, 27-    Mar-2016 16:59:13 GMT
Transfer-Encoding: chunked

{
    "debugMessage": "Submitted credentials for token     [org.apache.shiro.authc.UsernamePasswordToken - najmul@qianalysis.com, rememberMe=true] did not match the expected credentials.Submitted credentials for token [org.apache.shiro.authc.UsernamePasswordToken - najmul@qianalysis.com, rememberMe=true] did not match the expected credentials.: The subject was expected to be true, but was false",
    "errorCode": "INCORRECT_CREDENTIALS",
    "logId": "50a695c1a81e0542",
    "stackTrace": "org.niopack.r.....
}
现在我想使用Alamofire读取这个JSON数据。我用以下方法尝试了responseJSON serialiser:

Alamofire.request(method, urlString, parameters: parameters, encoding: .URL, headers: cookieHeader)
    .validate()
    .responseJSON {

        alamofireResponse in

        let jsonData = alamofireResponse.result.value
    }
但我得到的jsonData为零。如果你在这里,你会做什么


谢谢。

为我删除
validate()
允许我查看请求失败的原因。由于某种原因,当验证失败时,响应的数据不会被解析。

这在2021年4月仍然是正确的