أمثلة Swift / iOS – واجهة برمجة تطبيقات الصحة واللياقة البدنية¶
استخدم Swift للوصول إلى واجهة برمجة تطبيقات الصحة واللياقة البدنية من تطبيقات iOS الخاصة بك. فيما يلي أمثلة باستخدام المكتبة URLSession و Alamofire الأصلية.
1. استخدام URLSession¶
مثال لطلب 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()
مثال لطلب 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. استخدام Alamofire (موصى به للتركيب الأبسط)¶
قم بتثبيت Alamofire عبر Swift Package Manager:
// In Xcode: File > Swift Packages > Add Package Dependency
// URL: https://github.com/Alamofire/Alamofire.git
مثال لطلب 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)
}
}
مثال لطلب 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. ملاحظات وأفضل الممارسات¶
- استخدم طلبات الشبكة غير المتزامنة لتجنب حظر الخيط الرئيسي.
- احمِ مفتاح API الخاص بك دائمًا؛ لا تقم بتضمينه في التعليمات البرمجية الموجودة على جانب العميل والتي يمكن عكس هندستها.
- تتضمن الاستجابات بيانات
_enterpriseالخاصة بالبيانات عند الحاجة لمراقبة وتتبع القيود.
لغات أخرى¶
استكشف كيفية دمج واجهة برمجة تطبيقات الصحة واللياقة البدنية في لغات البرمجة الأخرى:
ابدأ في دمج واجهة برمجة تطبيقات الصحة واللياقة البدنية في تطبيقاتك اليوم!
واجهة برمجة تطبيقات الصحة واللياقة البدنية تمكين البنية التحتية الرقمية الصحية الحديثة