Alamofire를 활용한 서버통신 방법

이번에 server통신 관련 공부를 하다가 유용하게 사용한 라이브러리가 있어서 공유합니다.
Alamofire git주소 - GitHub - Alamofire/Alamofire: Elegant HTTP Networking in Swift

sudo gem install cocoapods
cd 프로젝트폴더
pod init

여기까지 하면 podfile이 생기는데, 첨부한 Alamofire github의 readme에 보시면 설치 방법중, podfile수정 방법이 나와있습니다. 그걸 참고 하셔서, podfile을 수정하신다음

pod install

하시면, xcode프로젝트 파일 외에, workspace파일이 생깁니다. xcode로 workspace파일을 열면 Alamofire 라이브러리를 import하여 사용할 수 있습니다.

###예제코드###

import Alamofire

func get_time()->String{
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
    return formatter.string(from: Date())
}

func get_test() {
    AF.request("http://127.0.0.1:8000/get/").responseJSON { response in
        let responseJSON = response.value as! [String:AnyObject]
        let message = responseJSON["message"] as! String
        print(message + " : " + get_time())
    }
}

저는 우선 django로, http://127.0.0.1:8000/get/ 로 get요청이 들어오면 json파일을 보내는 서버를 켜놨습니다. get_test()함수는 Alamofire모듈의 함수를 사용하여 get 요청을 보내고, 결과로 받은 json파일을 형변환하여, message 속성에 해당하는 데이터를 프린트 하여 통신이 잘 되고 있는지 확인하였습니다. 참고하시면 좋을 것 같습니다.

+a) 실제 ios앱 개발자 분들은 http통신을 할 때 어떠한 방법으로 구현하시나요? 처음 서버통신을 구현해 보아서, 다른 방법은 무엇이 있는지 궁금합니다.

좋아요 2

URL Loading System by Apple, Inc.
URLSession by Apple, Inc.
JSONEncoder + JSONDecoder = Codable by Apple, Inc.

그리고… 추억 돋는…?!
(사실 가끔 쓰는… ㅎㅎ)

JSONSerialization by Apple, Inc.

화이팅입니다~ :smiley:

좋아요 2

저도 이번에 공부를 하면서, 수신된 JSON파일을 parsing 하기 위해 어떤 방법을 사용할 것인지 많이 고민하였는데, 많은 분들이 Codable 을 추천 하시더라고요ㅎㅎ 공부 해야겠습니다!!

좋아요 1

[참고] Alamofire의 경우는 Swift Package Manage도 지원합니다~!

좋아요 1