Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- UI
- java spring
- spring boot
- Xcode
- 백준
- API
- swagger
- 개발
- spring
- 백엔드
- 통신
- JavaScript
- 앱개발
- 아이폰
- 회원가입
- 서버개발
- 알고리즘
- Swift
- node
- 개발자
- 앱
- database
- Alamofire
- post
- SwiftUI
- IOS
- Node.js
- db
- Java
- mac
Archives
- Today
- Total
YagSill
Swift Alamofire API 예제 본문
728x90
안녕하세요 YagSill 입니다.
오늘은 Swift의 핵심 라이브러리인 Alamofire에 대해서 알아보겠습니다.
기본적으로 URLSession을 통한 API호출은 다들 관심이 없으실 겁니다 왜냐면 검색창에 Alamofire라고 치고 들어오셨을 테니까요 ㅋㅋ
코드는 이렇습니다.
Alamofire.request("url을 넣어주시면 됩니다.", method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).validate(statusCode: 200..<500).responseJson { (response) in
switch response.result {
case .success :
print("성공")
// 이제 여기다가 response 데이터를 가지고 잘 가지고 노시면 됩니다 ㅋㅋ
case .failure(let error) :
print(error)
// 요 부분은 Alamofire를 호출했을 때 만약 에러가 난다면 어떤 에러가 났는지 터미널창에 띄우는 겁니다.
}
기본적으로 method 는 .get을 이용했습니다.
파라미터도 없구요 헤더도 없이 호출할겁니다.
"url을 넣어주시면 됩니다." -> 이 부분에는 호출하려는 API의 url을 넣어주시면 되요.
예를 들어 보겠습니다.
https://jsonplaceholder.typicode.com/users
요 사이트에서 JSON 데이터를 호출해 보겠습니다.
[
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@april.biz",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
},
뭐 이런식으로 Json 데이터가 넘어오는 것같습니다?
그렇담 저희는 이 데이터의 구조에 맞게 struct 구조를 만들어 줘야겠쬬?
struct SampleJson : Codable {
let id : Int
let username : String
let email : String
let address : addressData
let phone : String
let website : String
let company : companyData
struct addressData : Codable {
let street : String
let suite : String
let city : String
let zipcode : String
let geo : geoData
struct geoData : Codable {
let lat : String
let lng : Double
}
}
struct companyData : Codable {
let name : String
let catchPhrase : String
let bs : String
}
}
struct 구조를 만들어 줍니다.
그리고 아까 처음의 Alamofire 코드에 한번 넣어보도록 하죠
Alamofire.request("https://jsonplaceholder.typicode.com/users", method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).validate(statusCode: 200..<500).responseJson { (response) in
switch response.result {
case .success :
print("성공")
print(response)
case .failure(let error) :
print(error)
// 요 부분은 Alamofire를 호출했을 때 만약 에러가 난다면 어떤 에러가 났는지 터미널창에 띄우는 겁니다.
}
이렇게 호출하게 되면 Json 데이터가 쭈우우욱 넘어오게 됩니다~~~
궁금하신 사항은 댓글로 남겨주세요!!
728x90
'Swift 통신' 카테고리의 다른 글
Swift ViewController간 데이터 전달 present 방법 (0) | 2022.03.24 |
---|---|
Swift Alamofire API 너무 쉬운 (get, post) (0) | 2022.03.24 |