Accéder aux services Web
Dans notre application, nous pourrions avoir besoin de nous connecter à l'API et de récupérer les données de cette API et de les utiliser dans notre application.
Tout d'abord, nous avons besoin de l'URL, qui nous fournira les données.
api.openweathermap.org/data/2.5/forecast?id=524901&APPID=1111111111
Après cela, nous devons ajouter une exception de sécurité de la couche de transport pour permettre à notre application de communiquer avec le service Web, si le service n'est pas https. Nous apporterons ces changements dans leinfo.plist fichier.
Enfin, nous allons créer une URLSession pour créer une requête réseau.
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()
C'est ainsi que vous pouvez utiliser les services Web dans votre application à l'aide de sessions URL.
Alamofire
Alamofire est une bibliothèque de mise en réseau HTTP écrite en swift. Il peut être utilisé pour effectuer des demandes d'URL, publier des données, recevoir des données, télécharger un fichier, des données, une authentification, une validation, etc.
Pour installer Aalmofire, vous pouvez vous rendre officiellement sur Alamofire sur GitHub , et lire leur guide d'installation
Faire une demande à Alamofire
Pour faire une requête dans Alamofire, nous devons utiliser la commande suivante.
Import Alamofire
Alamofire.request("url");
Traitement des réponses
La commande suivante est utilisée pour la gestion des réponses.
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)")
}
}
Validation de la réponse
La commande suivante est utilisée pour la gestion des réponses.
Alamofire.request("https://httpbin.org/get").validate().responseJSON {
response in
switch response.result {
case .success:
print("Validation Successful")
case .failure(let error):
print(error)
}
}
Ce sont les bases de la demande d'URL, en utilisant les sessions d'URL et Alamofire. Pour un Alamofire plus avancé, veuillez visiter la documentation Alamofire , et vous pouvez en savoir plus à ce sujet.