[Swift] URLSession VS Alamofire
URLSession
// 호출 URL 만들기
var components = URLComponents(string: "https://api.mywebserver.com/v1/board")!
components.queryItems = ["title": "Junsu"].map { (key, value) in
URLQueryItem(name: key, value: value)
}
// Request 생성 및 실행
let request = try! URLRequest(url: components.url!, method: .get)
URLSession.shared.dataTask(with: request) { (data, response, error) in
do {
guard let data = data,
let response = response as? HTTPURLResponse, (200 ..< 300) ~= response.statusCode,
error == nil else {
throw error ?? Error.requestFailed
}
let response = try JSONDecoder().decode(Response.self, from: data)
print("Success \(response)")
} catch {
print("failure: \(error.localizedDescription)")
}
}
- 기본적인 HTTP 네트워킹 방식
Alamofire
AF.request("https://api.mywebserver.com/v1/board", method: .get, parameters: ["title": "Junsu"])
.validate()
.responseJSON { response in
switch response.result {
case .success(let result):
debugPrint("success \(result)")
case .failure(let error):
debugPrint("failure \(error)")
}
}
- Swift 기반의 HTTP 네트워킹 라이브러리
- 코드의 간소화, 가독성 측면에서 도움을 주고 여러 기능을 직접 구축하지 않아도 쉽게 사용할 수 있음.
- URL에 Parameter을 자동으로 매핑해줌
validate()
method가 자동으로 200번대(정상 Status)인지 확인해줌
Author And Source
이 문제에 관하여([Swift] URLSession VS Alamofire), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@junsuboy/Swift-URLSession-VS-Alamofire
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// 호출 URL 만들기
var components = URLComponents(string: "https://api.mywebserver.com/v1/board")!
components.queryItems = ["title": "Junsu"].map { (key, value) in
URLQueryItem(name: key, value: value)
}
// Request 생성 및 실행
let request = try! URLRequest(url: components.url!, method: .get)
URLSession.shared.dataTask(with: request) { (data, response, error) in
do {
guard let data = data,
let response = response as? HTTPURLResponse, (200 ..< 300) ~= response.statusCode,
error == nil else {
throw error ?? Error.requestFailed
}
let response = try JSONDecoder().decode(Response.self, from: data)
print("Success \(response)")
} catch {
print("failure: \(error.localizedDescription)")
}
}
AF.request("https://api.mywebserver.com/v1/board", method: .get, parameters: ["title": "Junsu"])
.validate()
.responseJSON { response in
switch response.result {
case .success(let result):
debugPrint("success \(result)")
case .failure(let error):
debugPrint("failure \(error)")
}
}
- Swift 기반의 HTTP 네트워킹 라이브러리
- 코드의 간소화, 가독성 측면에서 도움을 주고 여러 기능을 직접 구축하지 않아도 쉽게 사용할 수 있음.
- URL에 Parameter을 자동으로 매핑해줌
validate()
method가 자동으로 200번대(정상 Status)인지 확인해줌
Author And Source
이 문제에 관하여([Swift] URLSession VS Alamofire), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@junsuboy/Swift-URLSession-VS-Alamofire저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)