[swift] Alamofire와 함께 사용하는 사용자 검색 기능 구현하기

이번 포스트에서는 Swift의 Alamofire 라이브러리를 사용하여 사용자 검색 기능을 구현하는 방법에 대해 알아보겠습니다. Alamofire는 HTTP 네트워킹을 쉽게 처리할 수 있도록 도와주는 네트워킹 라이브러리입니다.

1. 프로젝트 설정

먼저, 프로젝트에 Alamofire를 추가하기 위해 CocoaPods를 사용할 것입니다. Podfile에 다음과 같이 Alamofire를 추가합니다.

pod 'Alamofire'

터미널에서 pod install 명령을 실행하여 Alamofire를 다운로드 및 설치합니다.

2. 검색 API 호출

Alamofire를 사용하여 검색 요청을 보내는 함수를 추가합니다. 다음은 GitHub API에서 사용자를 검색하는 예제입니다.

import Alamofire

func searchUser(query: String) {
    let url = "https://api.github.com/search/users"
    let params = ["q": query]
    
    AF.request(url, parameters: params).responseJSON { response in
        switch response.result {
        case .success(let value):
            // 검색 결과를 처리하는 로직을 작성합니다.
            print(value)
        case .failure(let error):
            // 에러 처리 로직을 작성합니다.
            print(error.localizedDescription)
        }
    }
}

위 코드에서는 AF.request 함수를 사용하여 HTTP GET 요청을 보냅니다. 요청 URL은 https://api.github.com/search/users이고, 요청 파라미터로는 query를 사용합니다.

3. 검색 결과 처리

검색 결과를 처리하기 위해 responseJSON 클로저에서 결과를 다루는 로직을 작성합니다. 성공적인 응답을 받았을 때는 .success case에서 응답 데이터를 활용할 수 있습니다.

반면, 요청이 실패했을 때는 .failure case에서 에러를 처리합니다.

case .success(let value):
    // 검색 결과를 처리하는 로직을 작성합니다.
    if let json = value as? [String: Any],
       let items = json["items"] as? [[String: Any]] {
        for item in items {
            if let login = item["login"] as? String {
                print(login)
            }
        }
    }
case .failure(let error):
    // 에러 처리 로직을 작성합니다.
    print(error.localizedDescription)
}

위 코드에서는 검색 결과에서 사용자 아이디(login)만 추출하여 출력하는 간단한 예시를 보여주고 있습니다.

4. 검색 호출하기

이제 사용자 검색을 호출하는 코드를 작성해보겠습니다.

searchUser(query: "john")

위 코드에서는 searchUser 함수를 호출하고, query 파라미터에 원하는 검색어를 전달합니다.

마무리

이번 포스트에서는 Alamofire를 사용하여 사용자 검색 기능을 구현하는 방법에 대해 알아보았습니다. Alamofire는 간단하면서도 강력한 네트워킹 라이브러리로 HTTP 요청을 쉽게 처리할 수 있도록 도와줍니다. Alamofire의 다양한 기능을 활용하여 프로젝트에서 사용자 검색 외에도 다양한 네트워킹 요청을 구현해보세요.