使用Swift 2访问Web服务进行iOS开发


在我们的应用程序中,我们可能需要连接到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)   
   // original URL request     
   print(response.response)  
   // HTTP URL response      
   print(response.data)      
   // server data      
   print(response.result)    
   // result of response serialization       
   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 Sessions和Alamofire进行URL请求的基础知识。如需更高级的Alamofire,请访问Alamofire文档,您可以详细了解它。