我是我的快捷应用程序。我想用alamofire
创建一个请求POST请求
$ curl \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-X POST -d '{ "user": { "email": "user@example.com", "password": "1234" } }' \
http://localhost:3000/users/sign_in
我的代码
let URL = NSURL(string: "https://lobo-api.herokuapp.com/users/sign_up")!
let mutableURLRequest = NSMutableURLRequest(URL: URL)
mutableURLRequest.HTTPMethod = "GET"
let parameters = ["user": ["email": "bolo@me.com", "password": "OPOPO"]]
var JSONSerializationError: NSError? = nil
mutableURLRequest.HTTPBody = NSJSONSerialization.dataWithJSONObject(parameters, options: nil, error: &JSONSerializationError)
mutableURLRequest.setValue("application/json", forHTTPHeaderField: "Accept")
mutableURLRequest.setValue("application/json", forHTTPHeaderField: "Content-Type")
Alamofire.request(mutableURLRequest).responseJSON { (request, response, data, error) in
println(error)
println(response)
println(data)
println(error)
}
我收到此错误
可选({URL:https://lobo-api.herokuapp.com/users/sign_up} {状态代码:404,标题{
连接="保持活力";
" Content-Length的" = 1564;
"内容类型" =" text / html;字符集= UTF-8&#34 ;;
Date =" Sun,05 Apr 2015 19:54:11 GMT&#34 ;;
服务器=牛仔;
Via =" 1.1 vegur&#34 ;;
" X - 请求-ID" =" 12df8182-c91e-439f-b773-2b2e48f3f0c6&#34 ;;
" X-运行" =" 0.007897";
}) 零
可选(错误域= NSCocoaErrorDomain代码= 3840"操作无法完成。(可可错误3840。)"(字符0周围的值无效。)UserInfo = 0x170678500 {NSDebugDescription =字符0周围的值无效。})
答案 0 :(得分:1)
首先,在您 curl 命令中,您使用了 POST 请求,但在您的代码中,您希望发出 GET 请求。< / p>
然后您从服务器获得404响应。根据 wikipedia 确切定义,您有 404 http状态代码响应,这意味着:&#34; .. 404或Not Found错误message是一个HTTP标准响应代码,表示客户端能够与给定服务器通信,但服务器找不到所请求的内容。&#34; (在您的情况下可能是因为您必须执行POST请求改为GET)
最后,您还会看到 3840 http状态代码:
每次服务器没有使用JSON代码正确响应时出现的错误,JSON文本必须以UTF-8,UTF-16或UTF-32编码(在您的情况下可能是因为您必须执行POST请求而不是GET)
答案 1 :(得分:0)
您的终点https://lobo-api.herokuapp.com/users/sign_up
是错误的。您从服务器获得了404响应。
答案 2 :(得分:0)
&#39>是heroku的一个问题。上次更新未激活