So I am having a hard time understanding how swift handles API data.
My app calls for a Bearer token, and the API returns a Token and Expires , i need to extract the token so i can make another API call later.
i can see in the print statement the token and expires data, but how do i extract just the token out.
import Foundation
#if canImport(FoundationNetworking)
import FoundationNetworking
#endif
class MyRequestController {
func getToken() {
let semaphore = DispatchSemaphore (value: 0)
var request = URLRequest(url: URL(string: "URL")!,timeoutInterval: Double.infinity)
request.addValue("Basic userinfo", forHTTPHeaderField: "Authorization")
request.addValue("AWSALB=efzS5NSzJXZ4OpGhrFJLjdemrPBlAW5H36T6T5AVneKb+5F9PGVi1VMmBpGe8SKom145AhE2MM6vZAvLGFVQezt2qG6hC8a12mshJewTwJYJFq9YCDfkK49kRhdE; AWSALBCORS=efzS5NSzJXZ4OpGhrFJLjdemrPBlAW5H36T6T5AVneKb+5F9PGVi1VMmBpGe8SKom145AhE2MM6vZAvLGFVQezt2qG6hC8a12mshJewTwJYJFq9YCDfkK49kRhdE", forHTTPHeaderField: "Cookie")
request.httpMethod = "POST"
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
semaphore.signal()
return
}
print(String(data: data, encoding: .utf8)!)
semaphore.signal()
}
task.resume()
semaphore.wait()
}
struct TokenInfo: Decodable {
let token: String
}
}
CodablewithJSONDecoderor useJSONSerialization