2016-03-24 8 views
0

Ich versuche, POST-Anfragen mit NSMutableURLRequest erstellen, aber die Übergabe eines NSData Objekt an seine verhält sich nicht wie erwartet. HierPOST Körper Anfrage ist schlecht mit NSJSONSerialization.dataWithJSONObject erstellt

ist, was ich tue:

guard let url = NSURL(string: endpoint) else { 
     print("Error: Cannot create URL") 
     return nil 
    } 
    do { 
     let params = try NSJSONSerialization.dataWithJSONObject(options, options: []) 

     let urlRequest:NSMutableURLRequest = NSMutableURLRequest(URL: url) 
     urlRequest.HTTPMethod = method 

     if method != "GET" { 
      urlRequest.HTTPBody = params 
     } 

     return urlRequest 

    } catch { 
     print("Error: Cannot parse options data into JSON") 
     return nil 
    } 

Hier ist, was ich bekommen:

#<Hashie::Mash {"token":"MVgutecI0y5AzJ8KcIgkxT56mwEh","email":"[email protected]","password":"adichris"}=nil> 

Mein Server in Ruby geschrieben. Hier ist, wie ich es holen:

puts params.inspect 
+1

Also was genau ist dein Problem? Welchen Fehler bekommst du? Ist Ihnen bewusst, dass es in Params ein Klartext-Passwort gibt? – SamuelD

+0

@ SamuelD Ich habe keinen Fehler. Das Problem ist, dass ich in meiner Anfrage keinen wohlgeformten JSON bekomme. Was das Passwort angeht, wird es nirgends verwendet, aber danke, dass du es bemerkt hast! –

Antwort

2

Da Sie JSON Mitteilung verfassen Sie die Anfrage des Content-Type Header application/json, bevor es wieder einstellen müssen.

request.setValue("application/json", forHTTPHeaderField: "Content-Type") 
+0

Ich wusste, dass es so einfach war. Vielen Dank! –

Verwandte Themen