
Alamofire는 Swift로 작성된 HTTP 네트워킹 라이브러리입니다. Apple의 Foundation 네트워킹 스택을 기반으로 하며, 인터페이스를 더 사용하기 쉽게 만든 것입니다.
pod 'Alamofire'
dependencies: [
.package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.0.0"))
]
import Alamofire
AF.request("https://api.example.com/data").response { response in
debugPrint(response)
}
AF.request("https://api.example.com/data")
.responseDecodable(of: [User].self) { response in
switch response.result {
case .success(let users):
print("Users: \(users)")
case .failure(let error):
print("Error: \(error)")
}
}
let parameters: [String: Any] = [
"name": "John Doe",
"email": "john@example.com"
]
AF.request("https://api.example.com/post",
method: .post,
parameters: parameters,
encoding: JSONEncoding.default)
.response { response in
debugPrint(response)
}
let headers: HTTPHeaders = [
"Authorization": "Bearer access_token",
"Accept": "application/json"
]
AF.request("https://api.example.com/data",
headers: headers)
.responseJSON { response in
debugPrint(response)
}
class NetworkManager {
static let shared = NetworkManager()
func fetchData<T: Decodable>(url: String, completion: @escaping (Result<T, Error>) -> Void) {
AF.request(url)
.responseDecodable(of: T.self) { response in
switch response.result {
case .success(let data):
completion(.success(data))
case .failure(let error):
completion(.failure(error))
}
}
}
}
Alamofire는 iOS 개발에서 네트워크 통신을 더 쉽고 안전하게 만들어주는 필수적인 라이브러리입니다. URLSession을 직접 사용하는 것보다 더 깔끔하고 유지보수하기 쉬운 코드를 작성할 수 있게 해줍니다.