Acessando serviços da web

Em nosso aplicativo, podemos precisar nos conectar à API e recuperar dados dessa API e usar em nosso aplicativo.

Em primeiro lugar, precisamos do URL, que nos fornecerá os dados.

api.openweathermap.org/data/2.5/forecast?id=524901&APPID=1111111111

Depois disso, precisamos adicionar a exceção de segurança da camada de transporte para permitir que nosso aplicativo se comunique com o serviço da web, se o serviço não for https. Faremos essas mudanças noinfo.plist Arquivo.

Por fim, criaremos uma URLSession para criar uma solicitação de rede.

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()

É assim que você pode usar os serviços da Web em seu aplicativo usando sessões de URL.

Alamofire

Alamofire é uma biblioteca de rede HTTP escrita em swift. Pode ser usado para fazer solicitações de URL, postar dados, receber dados, fazer upload de arquivos, dados, autenticação, validação, etc.

Para instalar o Aalmofire, você pode acessar o Alamofire oficialmente no GitHub e ler o guia de instalação

Fazendo uma solicitação no Alamofire

Para fazer uma solicitação no Alamofire, devemos usar o seguinte comando.

Import Alamofire 
Alamofire.request("url");

Tratamento de resposta

O seguinte comando é usado para tratamento de resposta.

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)")   
   } 
}

Validação de Resposta

O seguinte comando é usado para tratamento de resposta.

Alamofire.request("https://httpbin.org/get").validate().responseJSON {  
   response in      
   switch response.result {      
      case .success:         
      print("Validation Successful")      
      case .failure(let error):      
      print(error)      
   } 
}

Estes são os princípios básicos para fazer solicitações de URL, usando Sessões de URL e Alamofire. Para um Alamofire mais avançado, visite a Documentação do Alamofire e você pode ler sobre ele em detalhes.