2015-04-05 2 views
3

I мое быстрое приложение. Я хочу, чтобы создать POST запрос с alamofireДанные заголовка HTTP POST не применяются с использованием Alamofire

просьбе

$ curl \ 
      -H 'Accept: application/json' \ 
      -H 'Content-Type: application/json' \ 
      -X POST -d '{ "user": { "email": "[email protected]", "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": "[email protected]", "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, заголовки {
Connection = "keep-alive";
"Content-Length" = 1564;
"Content-Type" = "text/html; charset = utf-8";
Дата = "Вс, 05 апр. 2015 19:54:11 GMT";
Сервер = Ковбой;
Via = "1.1 vegur";
"X-Request-Id" = "12df8182-c91e-439f-b773-2b2e48f3f0c6";
"X-Runtime" = "0.007897";
}})
ноль
Необязательный (Error Domain = NSCocoaErrorDomain Code = 3840 "Операция не может быть завершена. (Cocoa ошибка 3840.)" (недопустимое значение вокруг символа 0.) UserInfo = 0x170678500 {NSDebugDescription = Invalid значение вокруг символа 0.})

+1

Возможно, вы хотите, чтобы ваш HTTP-метод был 'POST', правильно? – mattt

ответ

0

Ваша конечная точка https://lobo-api.herokuapp.com/users/sign_up неверна. Вы получаете 404 ответ от сервера.

0

Это была проблема с героикой. Последнее обновление не было Активизированными

1

Прежде всего в вас локоне команды используется запроса POST, но в своем коде вы хотите сделать GET запроса.

Затем вы получаете ответ 404 с сервера. Согласно wikipedia точное определение, у вас есть 404 код кода состояния http, что означает: ".. Сообщение об ошибке 404 или не найдено - это стандартный ответный код HTTP, указывающий, что клиент смог связаться с данным сервером , но сервер не может найти то, что было предложено ..» (в вашем случае, вероятно, потому, что вы должны сделать запрос POST вместо того, чтобы в ГЭТ)

Наконец, вы видите также 3840 код состояния НТТР:
ошибка, которую вы получаете каждый раз, когда сервер не отвечает должным образом кодом JSON, а текст JSON должен быть закодирован в UTF-8, UTF-16 или UTF-32 (в вашем случае, вероятно, потому, что вы должны выполнить запрос POST вместо GET)

Смежные вопросы