본문 바로가기
iOS/개념

[iOS] HTTP 통신 / Alamofire

by 나리._. 2021. 10. 2.

Alamofire?

Swift 기반의 HTTP 네트워킹 라이브러리

url세션에 기반한 라이브러리로 네트워킹 작업을 단순화하고 네트워킹을 위한 다양한 메서드와 json 파싱 등을 제공한다.

 

URLSession HTTP 통신 포스팅은 아래에 👇

https://yesiamnahee.tistory.com/125?category=885582 

 

[iOS] HTTP 통신 / URLSession

네트워크 통신을 구현하는 애플리케이션에서는 OSI 계층의 최상단 계층, 응용 계층을 구현해서 통신을 설정한다. 그럼 이 응용 계층을 어떻게 구현해야할까? URL을 이용하여 구현한다. URL이란? URL

yesiamnahee.tistory.com

 

URLSession이 아닌 Alamofire을 사용하는 이유는?

코드의 간소화 및 가독성 측면에서 도움을 주고, 여러 기능들을 직접 구축하지 않아도 쉽게 사용할 수 있기 때문이다!

 

api를 get 방식으로 호출하는 코드를 비교해보면서 확인해보자!

 

URLSession으로 작성한 코드에서는 url 생성과, status 코드 검증, 에러 처리 등을 해야 하고

query 파라미터가 있다면 url에 매핑시켜주는 작업도 해야 한다.

또한 유효성 검사에서도 response 객체를 HTTPURLResponse로 다운 캐스팅하여 statusCode 프로퍼티에 접근해 200번대인지 확인해야한다.

하지만?

Alamofire를 사용하면 URLSession보다 적은 코드로 똑같은 기능을 구현할 수 있다.

get 요청을 할 때, 메서드 파라미터에 url과 query 파라미터를 넘겨주면 자동으로 매핑시켜주며

유효성 검사 또한 validate 메서드만 이용하면 status가 200번 대만을 허용해준다.

 

그럼 Alamofire 사용방법을 알아보자.

 

Request 메서드 -> HTTP 요청

HTTPMethod

HTTPResponse

Request Method를 체이닝 하여 사용