Pracowałem nad tym trochę bez powodzenia Mam funkcję, która idzie do UIButton
wyłącznie do wykonywania połączeń alamofire do mojego interfejsu rails, który używa wszystkich JSON.alamofire.error Code = -6006 "JSON nie mógł być serializowany
Używam Swift 2, alamofire 3, 7 & Szyny XCode 4 dla mojego API, które jest stosowane do Heroku
Wciąż dostaję ten błąd, kiedy wystrzelić funkcję:
alamofire .error Code = -6006 "JSON nie może być serializowany. Dane wejściowe były zerowe lub zerowe.
Oto mój kod:
@IBAction func Save(sender: AnyObject) {
let postsEndpoint: String = "https://APIURL"
let parameters = [
"users": [
"name": "James McHarty",
"avatar": "Some binary data",
"post": [
"title": "First Test Post",
"body": "This is the first test post for the API",
"liked": "8", //will make INT later
"img": "more binary data"
]
]
]
Alamofire.request(.POST, postsEndpoint, parameters: parameters, encoding: .JSON)
.responseJSON { response in
guard response.result.error == nil else {
// got an error in getting the data, need to handle it
print(response.result.error!)
return
}
}
print("func'd")
}
Na podstawie komunikatu o błędzie wygląda na to, że serwer nie odesłał żadnych danych. Czy próbowałeś wykonać tę samą prośbę za pomocą 'curl' lub podobnego narzędzia HTTP? Jakiej struktury JSON się spodziewasz? Dlaczego jesteś pewien, że to problem iOS, a nie Rails? –
To było pomocne dane wejściowe, więc rozwiązałem problem z serwerem i wyszedłem z mniejszym żądaniem (tylko użytkownik), a mój serwer zaakceptował żądanie POST i wyświetla to teraz, gdy wykonuję GET: [{"id": 1, "name": " Don McHart "," avatar ":" niektóre binarne bzdury "," posty ": []}]. To prowadzi mnie do przekonania, że robię coś złego w parametrach. –
Możesz zamknąć to pytanie i otworzyć nowe pytanie Railsów, jeśli treść odpowiedzi nie jest zgodna z oczekiwaniami. –