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...