[swift] Alamofire를 사용하여 REST API 호출 시 타임아웃 설정하기

이번 글에서는 Swift에서 Alamofire라이브러리를 사용하여 REST API를 호출할 때 타임아웃을 설정하는 방법에 대해 알아보겠습니다.

Alamofire는 Swift 언어로 작성된 높은 수준의 HTTP 통신 라이브러리입니다. REST API를 호출하려는 경우, 일반적으로 서버로부터 응답을 받을 때까지 기다릴 시간을 설정해야 합니다. 타임아웃을 설정하지 않으면 응답을 기다리는 동안 앱이 블록될 수 있습니다.

타임아웃을 설정하는 방법

Alamofire를 사용하여 REST API를 호출할 때 타임아웃을 설정하려면 다음의 단계를 따릅니다:

  1. Alamofire 세션 객체를 생성합니다.
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 10 // 타임아웃 시간을 10초로 설정

let sessionManager = Alamofire.Session(configuration: configuration)
  1. 세션 매니저를 사용하여 Alamofire 요청을 수행합니다.
sessionManager.request("https://api.example.com/endpoint").responseJSON { response in
    // 응답 처리 로직
}

위의 코드에서 URLSessionConfiguration을 사용하여 타임아웃 시간을 설정하고, 이를 기반으로 Alamofire.Session을 생성합니다. 그 후 요청을 보내고 응답을 받으면서 지정한 타임아웃 시간 내에 응답이 오지 않으면 요청이 취소됩니다.

타임아웃 시간 조정

위의 예제에서는 타임아웃 시간을 10초로 설정했습니다. 이 값을 앱의 요구 사항에 맞게 조정할 수 있습니다. 더 긴 타임아웃 시간을 사용하려면 해당 값에 원하는 시간(초)을 설정하면 됩니다.

결론

이제 Swift에서 Alamofire를 사용하여 REST API 호출 시 타임아웃을 설정하는 방법을 배웠습니다. 타임아웃 설정을 통해 응답이 오지 않을 때 앱이 블록되는 상황을 방지할 수 있습니다. 자세한 내용은 Alamofire 문서를 참조하는 것을 권장합니다.

참고 문서: Alamofire GitHub 페이지