Using URLSession
URLSession is the class that provides an API for performing HTTP requests and managing network data transfer tasks in iOS and macOS.
In order to get data from a URL with URLSession, you need to perform the steps illustrated in the following sequence diagram:
 
				Figure 15.2 – Conceptual flow for performing a GET with URLSession
Implementing HTTP methods
HTTP methods (GET, POST, PUT, DELETE, etc.) are specified by setting the HTTP method of a URLRequest.
As an example, let’s create a POST request.
A POST request submits data to a specified resource (it creates the resource on the server, e.g., a new user):
let url = URL(string: "https://example.com/post")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let postData = ["key": "value"]
let jsonData = try! JSONSerialization... 
                                             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
     
         
                 
                 
                 
                 
                 
                 
                 
                 
                