[swift] Swift Moya에서 모델 데이터 파싱하기

Moya는 Swift에서 네트워크 작업을 쉽게 처리하기 위한 라이브러리입니다. 이 라이브러리를 사용하여 서버에서 받은 JSON 데이터를 모델로 파싱하는 방법을 알아보겠습니다.

1. 모델 생성하기

먼저, JSON 데이터를 파싱하기 위해 모델을 만들어야 합니다. 모델은 Codable 프로토콜을 따르고, JSON 데이터의 키와 모델의 프로퍼티 이름이 일치해야 합니다.

struct MyModel: Codable {
    let id: Int
    let name: String
    // 추가적인 프로퍼티들
}

2. Moya로 데이터 요청하기

Moya를 사용하여 서버에 데이터를 요청하고, 받은 데이터를 모델로 파싱합니다.

import Moya

let provider = MoyaProvider<MyAPI>()

provider.request(.myEndpoint) { result in
    switch result {
    case .success(let response):
        do {
            let myModel = try response.map(MyModel.self)
            // 파싱된 모델 사용
        } catch {
            print(error)
        }
    case .failure(let error):
        print(error)
    }
}

위의 예시에서 MyAPI는 서버 API 엔드포인트를 정의한 enum입니다. .myEndpoint는 실제 서버에서 사용하는 엔드포인트로 변경해야 합니다.

3. 파싱된 모델 사용하기

파싱된 모델을 사용하여 데이터를 처리할 수 있습니다.

print(myModel.id) // 모델의 프로퍼티 사용
print(myModel.name)

요약

Swift Moya를 사용하여 네트워크 작업을 간편하게 처리하고, 받은 JSON 데이터를 모델로 파싱하는 방법에 대해 알아보았습니다. 이를 통해 Swift 애플리케이션에서 서버와의 통신과 데이터 처리를 원활하게 할 수 있습니다.

참고문서: Moya GitHub Repository