[iOS][Swift] Alamofire - HTTP Networking

Jay·2023년 8월 29일
0

iOS

목록 보기
29/47

Alamofire는 iOS와 macOS에서 네트워킹을 단순화하는 Swift 기반의 HTTP 네트워킹 라이브러리입니다. URL세션을 기반으로 구축되어 있으며, 효율적이고 간결한 API 요청을 지원합니다.

Alamofire의 주요 특징:

  • Chainable Request / Response Methods: 요청과 응답의 메서드 체이닝을 지원합니다.
  • JSON, XML, Property List, Data 등의 다양한 데이터 응답 형식 처리.
  • File and Data Downloading: 파일 및 데이터 다운로드 지원.
  • Authentication: 다양한 인증 메커니즘을 지원합니다.
  • HTTP Response Validation: 응답의 유효성 검사 기능.
  • Uploads: multipart/form-data, stream, file, or data.
  • Request/Response Interception: 요청 및 응답의 중간에 개입 가능.

Alamofire 설치:

CocoaPods나 Swift Package Manager를 통해 설치 가능합니다.

CocoaPods로 설치하기:

pod 'Alamofire', '~> 5.4'

기본 사용법:

1. GET 요청

import Alamofire

AF.request("https://api.example.com/users").response { response in
    debugPrint(response)
}

2. JSON 응답 처리

AF.request("https://api.example.com/users").responseJSON { response in
    if let json = response.value {
        print("JSON: \(json)")
    }
}

3. POST 요청

let parameters: [String: Any] = [
    "name": "John Doe",
    "age": 28
]

AF.request("https://api.example.com/users", method: .post, parameters: parameters).responseJSON { response in
    debugPrint(response)
}

4. 응답 유효성 검사

AF.request("https://api.example.com/users")
    .validate(statusCode: 200..<300)
    .validate(contentType: ["application/json"])
    .responseData { response in
        switch response.result {
        case .success:
            print("Validation Successful")
        case let .failure(error):
            print(error)
        }
    }

고급 기능 및 사용법에 대해서는 Alamofire GitHub 페이지를 참고하세요.

profile
Junior Developer

0개의 댓글