![見出し画像](https://assets.st-note.com/production/uploads/images/67830720/rectangle_large_type_2_bb714ccb65e2ac68b1f1262642fb2018.png?width=800)
【Swift】 Alamofireを使用してAPI通信を行う
はじめに
メモ用に纏めました。
使用環境
● OS:macOS Big Sur 11.3.1
● Xcode:12.5
● Swift:5.4
コード
import Foundation
import Alamofire
class APIRequest {
static var shared = APIRequest()
private let baseUrl = "https://pokeapi.co/api/v2/pokemon/"
func get<T:Decodable>(path: String, prams: Parameters, type: T.Type, completion: @escaping (T) -> Void) {
let path = path
let url = baseUrl + path
let request = AF.request(url, method: .get, parameters: prams)
request.response { response in
let statusCode = response.response!.statusCode
do {
if statusCode <= 300 {
guard let data = response.data else { return }
let decode = JSONDecoder()
let value = try decode.decode(T.self, from: data)
completion(value)
}
} catch {
print("変換に失敗しました:", error)
print(response.debugDescription)
}
switch statusCode {
case 400:
print(response.description)
case 401:
print(response.description)
case 403:
print(response.description)
case 404:
print(response.description)
default:
break
}
}
}
}
おわりに
postについても時間がある時に更新します。
参考文献
この記事が気に入ったらサポートをしてみませんか?