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.