Aller au contenu

Exemples Swift / iOS – API Health & Fitness

Utilisez Swift pour accéder à l'API Health & Fitness depuis vos applications iOS. Les exemples suivants utilisent les bibliothèques natives URLSession et Alamofire.


1. Utilisation de URLSession

Exemple de requête GET :

import Foundation

let apiKey = "YOUR_API_KEY"
let url = URL(string: "https://api.hefitapi.com/api/v1/bmi?height=178&weight=82&units=metric&lang=en")!

var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue(apiKey, forHTTPHeaderField: "X-API-Key")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let error = error {
        print("Error:", error)
        return
    }
    guard let data = data else { return }
    do {
        let json = try JSONSerialization.jsonObject(with: data, options: [])
        print(json)
    } catch {
        print("Decoding error:", error)
    }
}

task.resume()

Exemple de requête POST :

import Foundation

let apiKey = "YOUR_API_KEY"
let url = URL(string: "https://api.hefitapi.com/api/v1/bmi/post")!

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue(apiKey, forHTTPHeaderField: "X-API-Key")

let payload: [String: Any] = ["height": 178, "weight": 82, "units": "metric"]
request.httpBody = try? JSONSerialization.data(withJSONObject: payload, options: [])

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let error = error {
        print("Error:", error)
        return
    }
    guard let data = data else { return }
    do {
        let json = try JSONSerialization.jsonObject(with: data, options: [])
        print(json)
    } catch {
        print("Decoding error:", error)
    }
}

task.resume()

2. Utilisation de Alamofire (recommandé pour une syntaxe plus simple)

Installez Alamofire via Swift Package Manager :

// In Xcode: File > Swift Packages > Add Package Dependency
// URL: https://github.com/Alamofire/Alamofire.git

Exemple de requête GET :

import Alamofire

let apiKey = "YOUR_API_KEY"
let url = "https://api.hefitapi.com/api/v1/bmi"

AF.request(url, method: .get, parameters: ["height": 178, "weight": 82, "units": "metric", "lang": "en"], headers: ["X-API-Key": apiKey])
    .responseJSON { response in
        switch response.result {
        case .success(let value):
            print(value)
        case .failure(let error):
            print("Error:", error)
        }
    }

Exemple de requête POST :

import Alamofire

let apiKey = "YOUR_API_KEY"
let url = "https://api.hefitapi.com/api/v1/bmi/post"
let payload: [String: Any] = ["height": 178, "weight": 82, "units": "metric"]

AF.request(url, method: .post, parameters: payload, encoding: JSONEncoding.default, headers: ["X-API-Key": apiKey])
    .responseJSON { response in
        switch response.result {
        case .success(let value):
            print(value)
        case .failure(let error):
            print("Error:", error)
        }
    }

3. Notes et Bonnes Pratiques

  • Utilisez les appels réseau asynchrones pour éviter de bloquer le thread principal.
  • Protégez toujours votre clé API ; ne l'intégrez pas dans le code côté client qui pourrait être décompilé.
  • Les réponses incluent les métadonnées _enterprise lorsque cela est applicable, pour la surveillance et le suivi des quotas.

Autres Langages

Explorez comment intégrer l'API Health & Fitness dans d'autres langages de programmation :

Commencez à intégrer l'API Health & Fitness dans vos applications dès aujourd'hui !


API Health & Fitness Alimentant les infrastructures numériques de santé modernes