Search code examples
iosswift

Send post variables to API


I am trying to send post parameters to my API, it gets four variables :

  • labelled
  • id_produit
  • id_magasin
  • Prix

Here's my code:

@IBAction func AddProduct(sender: AnyObject) {
    
    
    let myUrl = NSURL(string: "http://vps43623.ovh.net/yamoinscher/api/products/create_product");let request = NSMutableURLRequest(URL:myUrl!);
    request.HTTPMethod = "POST";
    // Compose a query string
    let postString = "id=123456789&libelle=Florida&id_magasin=1&prix=1500";
    
    request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);
    
    
    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
    
        data, response, error in
        
        if error != nil
        {
            print("error=\(error)")
            return
        }
        
        // print out response object
        print("response = \(response)")
        
        // Print out response body
        let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
        print("responseString = \(responseString)")
        
  
        }
    task.resume()
    
    }

And when I execute this code I get this response:

response = Optional(<NSHTTPURLResponse: 0x7fadeaf532a0> { URL: http://vps43623.ovh.net/yamoinscher/api/products/create_product } { status code: 200, headers {
Connection = "keep-alive";
"Content-Length" = 0;
"Content-Type" = "application/x-www-form-urlencoded";
Date = "Thu, 28 Apr 2016 09:15:09 GMT";
"MS-Author-Via" = DAV;
Server = nginx;
"X-Powered-By" = PleskLin;
} })

responseString = Optional()

The console tells me that there is no variables sent to the api. Can any one help me please?


Solution

  • @IBAction func AddProduct(sender: AnyObject) {
    
    
            let myUrl = NSURL(string: "http://vps43623.ovh.net/yamoinscher/api/products/create_product");let request = NSMutableURLRequest(URL:myUrl!);
            request.HTTPMethod = "POST";
            // Compose a query string
            let postString = "id=123456789&libelle=Florida&id_magasin=1&prix=1500";
            let postLength = String(postData.length)
    
            request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);
    
            request.setValue(postLength, forHTTPHeaderField: "Content-Length")
            request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
            request.setValue("application/json", forHTTPHeaderField: "Accept")
    
            let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
    
                data, response, error in
    
                if error != nil
                {
                    print("error=\(error)")
                    return
                }
    
                // print out response object
                print("response = \(response)")
    
                // Print out response body
                let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
                print("responseString = \(responseString)")
    
    
                }
            task.resume()
    
            }