In this example I am going to show you how to send an HTTP POST Request to a server side script written in PHP.
I have prepared a very simple PHP script that accepts two parameters, puts them into an array and outputs response in a JSON format.
<?php // Read request parameters $firstName= $_REQUEST["firstName"]; $lastName = $_REQUEST["lastName"];// Store values in an array $returnValue = array("firstName"=>$firstName, "lastName"=>$lastName);// Send back request in JSON format echo json_encode($returnValue); ?>
Now I am going to write Swift code that sends HTTP POST request and reads response body:
let myUrl = URL(string: "https://www.swiftdeveloperblog.com/http-post-example-script/"); var request = URLRequest(url:myUrl!) request.httpMethod = "POST"// Compose a query string let postString = "firstName=James&lastName=Bond"; request.httpBody = postString.data(using: String.Encoding.utf8); let task = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in if error != nil { print("error=\(error)") return } // You can print out response object print("response = \(response)") //Let's convert response sent from a server side script to a NSDictionary object: do { let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary if let parseJSON = json { // Now we can access value of First Name by its key let firstNameValue = parseJSON["firstName"] as? String print("firstNameValue: \(firstNameValue)") } } catch { print(error) } } task.resume()
Here is a video of how this code works.
I hope that this short Swift programming tutorial was helpful for you. There is some much more to learn about mobile apps development with Swift for iOS platform! Check the video courses below and may be one of them will be just what you need.