반응형
서버와 데이터를 주고받기 위해서 http 통신을 사용합니다. 보통 가장 많이 사용되는 get을 사용하는 방법을 알아보도록 하겠습니다.
// 요청할 url 작성
let url = URL(string: "요청할 url")
// request 만들기 + method 정해주기
var request = URLRequest(url: url)
request.httpMethod = "GET"
// dataTask 만들기
let dataTask = URLSession.shared.dataTask(with: url) {[weak self] data, response, error in
guard let self = self else {return} // 강한 순환 참조 방지
guard error == nil else {return}
guard let response = response as? HTTPURLResponse else {return}
guard let data = data else {return}
// 경우에 따라 다름 - json decoding
guard let beers = try? JSONDecoder().decode(원하는 데이터 유형 구조체.self, from: data) else {return}
// 상태 확인
switch response.statusCode {
case 200...299: // 200번대 코드일때
// 성공시 코드 작성
// 추가로 클라이언트 에러는 400대 서버 에러는 500대
default:
// 코드
}
}
// dataTask를 만들면 실행을 해야 한다.
dataTask.resume()
이렇게 URLSession을 이용하면 api를 이용해 데이터를 받아올 수가 있습니다.
(추가로 이를 간단하게 해주는 alarmofire라는 오픈소스 라이브러리도 있습니다.)
아직 백엔드와 협업을 할 일이 없어 post나 put 같은 메서드를 사용할 일이 없는데 열심히 공부해서 협업을 할 단계가 되어야겠습니다.
반응형
'iOS > Swift' 카테고리의 다른 글
[Swift] String 문자열에서 문자 접근하기 (0) | 2022.03.15 |
---|---|
[iOS] plist 데이터 불러와서 사용하기 (0) | 2022.02.24 |
[iOS] 파이어베이스 Realtime Database 읽고 쓰기 기초 (0) | 2022.02.15 |
[iOS] 로컬 푸쉬 알림 (Local Notification) (0) | 2022.02.15 |
[iOS] lotties-ios로 움직이는 이미지 넣기 (0) | 2022.02.13 |