Ir para o conteúdo

Exemplos em Swift / iOS – API de Saúde e Fitness

Use Swift para acessar a API de Saúde e Fitness nas suas aplicações iOS. Abaixo estão exemplos com a biblioteca URLSession e Alamofire.


1. Usando URLSession

Exemplo de requisição 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()

Exemplo de requisição 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. Usando Alamofire (recomendado para uma sintaxe mais simples)

Instale Alamofire através do Swift Package Manager:

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

Exemplo de requisição 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)
        }
    }

Exemplo de requisição 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. Notas e Melhores Práticas

  • Use chamadas de rede assíncronas para evitar bloquear a thread principal.
  • Proteja sempre sua chave de API; não a inclua em código no lado do cliente que possa ser reversado.
  • As respostas incluem metadados _enterprise quando aplicável para monitoramento e rastreamento de quotas.

Outras Linguagens

Explore como integrar a API de Saúde e Fitness em outras linguagens de programação:

Comece a integrar a API de Saúde e Fitness nas suas aplicações hoje mesmo!


API de Saúde e Fitness Impulsionando a infraestrutura digital de saúde moderna