访问 Web 服务
在我们的应用程序中,我们可能需要连接到 API 并从该 API 检索数据并在我们的应用程序中使用。
首先,我们需要 URL,它将为我们提供数据。
api.openweathermap.org/data/2.5/forecast?id=524901&APPID=1111111111
之后,如果服务不是 https,我们需要添加传输层安全例外,以允许我们的应用程序与 Web 服务进行通信。我们将在 info.plist 文件中进行这些更改。
最后,我们将创建一个 URLSession 来创建网络请求。
let urlString = URL(string: "your URL") // Making the URL if let url = urlString { let task = URLSession.shared.dataTask(with: url) { (data, response, error) in // Creating the URL Session. if error != nil { // Checking if error exist. print(error) } else { if let usableData = data { // Checking if data exist. print(usableData) // printing Data. } } } } task.resume()
这是如何使用 URL 会话在应用程序中使用 Web 服务的方法。
Alamofire
Alamofire 是一个用 swift 编写的 HTTP 网络库。它可用于发出 URL 请求、发布数据、接收数据、上传文件、数据、身份验证、验证等。
要安装 Aalmofire,您可以前往 GitHub 上的 Alamofire 官方网站,并阅读其安装指南
在 Alamofire 中发出请求
要在 Alamofire 中发出请求,我们应该使用以下命令。
Import Alamofire Alamofire.request("url");
响应处理
以下命令用于响应处理。
Alamofire.request("url").responseJSON { response in print(response.request) // 原始 URL 请求 print(response.response) // HTTP URL 响应 print(response.data) // 服务器数据 print(response.result) // 响应序列化的结果 if let JSON = response.result.value { print("JSON:\(JSON)") } }
响应验证
以下命令用于响应处理。
Alamofire.request("https://httpbin.org/get").validate().responseJSON { response in switch response.result { case .success: print("Validation Successful") case .failure(let error): print(error) } }
以上就是使用 URL Session 和 Alamofire 进行 URL 请求的基础知识。如需更多高级 Alamofire 知识,请访问 Alamofire 文档,您可以详细阅读。