2015-06-13 1 views
2

Мне нужно отправить запрос на отправку на мой сервер с помощью HTTPBody of Array. Вот мой массив параметров:NSMutableURLRequest - HTTPBody из Swift Array

params = [ 
      "message" : [ 
       "alert" : "Find your iPhone", 
       "sound" : "Binocular_Default.caf" 
      ] 
     ] 

Теперь мне нужно установить NSMutableURLRequest «s HTTPBody в этом массиве. Как я могу это сделать?

ответ

7

Создать изменяемый запрос с вашими параметрами. и попробуйте ввести следующий код:

var request = NSMutableURLRequest(URL: NSURL(string: "yoururl")) 
var session = NSURLSession.sharedSession() 
request.HTTPMethod = "POST" 

//create dictionary with your parameters 
var params = ["username":"test", "password":"pass"] as Dictionary<String, String> 

var err: NSError? 
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: nil, error: &err) 
request.addValue("application/json", forHTTPHeaderField: "Content-Type") 
request.addValue("application/json", forHTTPHeaderField: "Accept") 

var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in 
    println("Response: \(response)") 
    var strData = NSString(data: data, encoding: NSUTF8StringEncoding) 
    println("Body: \(strData)") 
    var err: NSError? 
    var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &err) as? NSDictionary 

    // Did the JSONObjectWithData constructor return an error? If so, log the error to the console 
    if(err != nil) { 
     println(err!.localizedDescription) 
    } 
    else { 

    } 
}) 

task.resume()