[swift] Swift에서 Alamofire를 사용한 GET 요청 및 Decodable 파싱 예제
이 예제에서는 Swift에서 Alamofire라이브러리를 사용하여 GET 요청을 수행하고, 응답을 Decodable 객체로 파싱하는 방법을 보여줍니다.
Alamofire 설치하기
먼저, Alamofire를 설치해야 합니다. Swift 패키지 매니저를 사용하여 다음 명령어를 실행합니다.
$ swift package init --type executable
$ swift package update
$ swift package resolve
$ swift package generate-xcodeproj
GET 요청하기
GET 요청을 수행하기 위해 Alamofire를 import합니다.
import Alamofire
그런 다음 AF.request()
메소드를 사용하여 GET 요청을 보냅니다. URL은 문자열로 전달하고, 응답은 클로저를 통해 처리합니다.
AF.request("https://api.example.com/data")
.responseJSON { response in
// 응답 처리하기
}
Decodable로 파싱하기
응답을 Decodable 객체로 파싱하기 위해서는, 응답 데이터의 구조와 일치하는 구조체를 만들어야 합니다.
struct ApiResponse: Decodable {
let message: String
let data: [Person]
}
struct Person: Decodable {
let name: String
let age: Int
}
이제 responseDecodable()
메소드를 사용하여 응답을 파싱합니다. 파싱할 구조체 타입을 전달하고, 클로저를 사용하여 파싱된 객체를 처리할 수 있습니다.
AF.request("https://api.example.com/data")
.responseDecodable(of: ApiResponse.self) { response in
// 파싱된 객체 처리하기
if let apiResponse = response.value {
print(apiResponse.message)
for person in apiResponse.data {
print(person.name)
print(person.age)
}
}
}
이제 Alamofire를 사용하여 GET 요청을 보내고, 응답을 Decodable 객체로 파싱하는 방법을 알게 되었습니다.
더 자세한 내용은 Alamofire 공식 문서를 참고하십시오.