Slide 22
Slide 22 text
More complex
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,
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,