URLRequest(url: url) request.httpMethod = "POST" request.addValue("application/json", forHTTPHeaderField: "Content-Type") do { request.httpBody = try JSONSerialization.data(withJSONObject: ["key":"abc123"]) } catch { fatalError() } let dataTask = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in guard let data = data, let success = String(data: data, encoding: .utf8), success == "OK" else { fatalError() } } dataTask.resume() let url = URL(string: "https://api.myservice.com/weather")! var request = URLRequest(url: url) request.httpMethod = "GET" request.addValue("application/json", forHTTPHeaderField: "Content-Type") do { request.httpBody = try JSONSerialization.data(withJSONObject: ["key":"abc123"]) } catch { fatalError() } let dataTask = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in let decoder = JSONDecoder() guard let data = data, let success = let weather = try! decoder.decode(Weather.self, from: data!) else { fatalError() } } dataTask.resume() let url = URL(string: “https://api.myservice.com/country”)! var request = URLRequest(url: url) request.httpMethod = "GET" request.addValue("application/json", forHTTPHeaderField: "Content-Type") do { request.httpBody = try JSONSerialization.data(withJSONObject: ["key":"abc123"]) } catch { fatalError() } let dataTask = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in let decoder = JSONDecoder() guard let data = data, let url = URL(string: "https://api.myservice.com/update")! var request = URLRequest(url: url) request.httpMethod = "POST" request.addValue("application/json", forHTTPHeaderField: "Content-Type") do { request.httpBody = try JSONSerialization.data(withJSONObject: ["key":"abc123"]) } catch { fatalError() } let dataTask = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in guard let data = data, let success = String(data: data, encoding: .utf8), success == "OK" else { fatalError() } } dataTask.resume() let url = URL(string: "https://api.myservice.com/weather")! var request = URLRequest(url: url) request.httpMethod = "GET" request.addValue("application/json", forHTTPHeaderField: "Content-Type") do { request.httpBody = try JSONSerialization.data(withJSONObject: ["key":"abc123"]) } catch { fatalError() } let dataTask = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in let decoder = JSONDecoder() guard let data = data, let success = let weather = try! decoder.decode(Weather.self, from: data!) else { fatalError() } } dataTask.resume() let url = URL(string: “https://api.myservice.com/country”)! var request = URLRequest(url: url) request.httpMethod = "GET" request.addValue("application/json", forHTTPHeaderField: "Content-Type") do { request.httpBody = try JSONSerialization.data(withJSONObject: ["key":"abc123"]) } catch { fatalError() } let dataTask = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in let decoder = JSONDecoder() guard let data = data,