访问 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 文档,您可以详细阅读。