Ich versuche, eine Post-Anfrage mit einer Leiche in schnellen Alamofire zu machen.So senden Sie eine POST-Anfrage mit BODY in swift
mein json Körper sieht aus wie:
{
"IdQuiz" : 102,
"IdUser" : "iosclient",
"User" : "iosclient",
"List":[
{
"IdQuestion" : 5,
"IdProposition": 2,
"Time" : 32
},
{
"IdQuestion" : 4,
"IdProposition": 3,
"Time" : 9
}
]
}
Ich versuche let
list
mit NSDictionnary zu machen, die wie folgt aussehen:
[[Time: 30, IdQuestion: 6510, idProposition: 10], [Time: 30, IdQuestion: 8284, idProposition: 10]]
und meine Anfrage Alamofire mit wie folgt aussieht:
Alamofire.request(.POST, "http://myserver.com", parameters: ["IdQuiz":"102","IdUser":"iOSclient","User":"iOSClient","List":list ], encoding: .JSON)
.response { request, response, data, error in
let dataString = NSString(data: data!, encoding:NSUTF8StringEncoding)
println(dataString)
}
Die Anfrage hat einen Fehler und ich glaube th Das Problem ist mit Dictionary-Liste, denn wenn ich eine Anfrage ohne die Liste mache, funktioniert es gut, also keine Idee?
Ich habe versucht, die Lösung vorgeschlagen, aber ich bin vor dem gleichen Problem:
let json = ["List":list,"IdQuiz":"102","IdUser":"iOSclient","UserInformation":"iOSClient"]
let data = NSJSONSerialization.dataWithJSONObject(json, options: NSJSONWritingOptions.PrettyPrinted,error:nil)
let jsons = NSString(data: data!, encoding: NSUTF8StringEncoding)
Alamofire.request(.POST, "http://myserver.com", parameters: [:], encoding: .Custom({
(convertible, params) in
var mutableRequest = convertible.URLRequest.copy() as! NSMutableURLRequest
mutableRequest.HTTPBody = jsons!.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
return (mutableRequest, nil)
}))
.response { request, response, data, error in
let dataString = NSString(data: data!, encoding:NSUTF8StringEncoding)
println(dataString)
}
möglich Duplikat [POST-Anfrage mit einer einfachen Zeichenfolge im Körper mit Alamofire] (http: // Stackoverflow.com/questions/27855319/post-request-mit-einem-einfachen-string-in-body-with-alamofire) –
Danke für Ihren Kommentar, aber die Post Ihre bereitgestellten hilft nicht, und ich versuche nicht zu übergeben eine Schnur als Körper, also können Sie bitte den Pfosten sorgfältig lesen –
@ YasserB. Konvertieren Sie Ihre JSON in eine NSString (es gibt Methode dafür), und verwenden Sie dann den Link von @Bhavin? – Larme