[swift] Swift로 GET 요청 보내기

Swift를 사용하여 API에 GET 요청을 보내는 방법에 대해 알아보겠습니다.

URLSession을 사용한 GET 요청

URLSession을 사용하여 GET 요청을 보낼 수 있습니다. 다음은 간단한 예제 코드입니다.

import Foundation

func sendGetRequest() {
    // 요청을 보낼 URL 생성
    if let url = URL(string: "https://api.example.com/data") {
        // URLSession 객체 생성
        let session = URLSession.shared
        
        // 데이터 태스크 생성
        let dataTask = session.dataTask(with: url) { (data, response, error) in
            if let error = error {
                // 에러 처리
                print("Error: \(error.localizedDescription)")
            } else if let data = data {
                // 데이터 처리
                let json = try? JSONSerialization.jsonObject(with: data, options: [])
                print(json)
            }
        }
        
        // 요청 시작
        dataTask.resume()
    }
}

위 코드에서는 URLSession 객체를 생성하고, URL을 사용하여 데이터 태스크를 만들고, GET 요청을 보낸 후 응답을 처리합니다. 응답 데이터는 JSON으로 처리되며, 출력으로 출력됩니다.

이 코드를 실행하면 https://api.example.com/data에서 데이터를 가져와 출력합니다.

Alamofire를 사용한 GET 요청

Alamofire는 Swift에서 널리 사용되는 HTTP 통신 라이브러리입니다. GET 요청을 보내는 것이 필요한 경우 Alamofire를 사용하면 편리합니다. 다음은 Alamofire를 사용한 GET 요청의 예제 코드입니다.

import Alamofire

func sendGetRequest() {
    AF.request("https://api.example.com/data").responseJSON { response in
        switch response.result {
        case .success(let value):
            // 응답 처리
            print(value)
        case .failure(let error):
            // 에러 처리
            print("Error: \(error.localizedDescription)")
        }
    }
}

위 코드에서는 AF.request 함수를 사용하여 GET 요청을 보내고, 응답을 처리합니다. 응답은 성공 또는 실패입니다.

Alamofire는 URLSession보다 더 많은 기능을 제공하며, 더 간결한 문법으로 HTTP 요청을 처리할 수 있습니다. 따라서 프로젝트의 요구 사항에 따라 적절한 방법을 선택할 수 있습니다.

참고 자료

위의 링크들은 URLSession과 Alamofire에 대한 공식 문서 및 GitHub 저장소로, 더 자세한 정보를 얻을 수 있습니다.