【Swift】ライブラリを使用しないHTTPリクエストの実装方法
目次
URLSessionとは
Foundation
に含まれる機能で、通常のHTTP通信なら問題なくできます。
サンプルコード
1 |
|
解説
- URL型の変数を生成
1
let url = URL(string: "https://qiita.com/api/v2/items?query=swift")!
- URLRequestを生成
パラメーターを設定する場合は、var
で定義する1
var request = URLRequest(url: url)
- 必要なパラメーターを付与(必要な場合)
- guard : nilチェックと代入を行います。
1
2
3
4
5
6
7
8
9
10let task = URLSession.shared.dataTask(with: request){ (data,response,error) in
guard let data = data else {return} // nilチェックと代入
do {
let object = try JSONSerialization.jsonObject(with: data, options: [])
print("通信成功")
} catch let e {
print("通信失敗")
print(e)
}
}
- URLSessionを開始
resurmeでTaskを実行します。 : https://developer.apple.com/documentation/foundation/urlsessiontask/1411121-resume1
task.resume()
- (非同期)レスポンスで受け取ったdata, response, errorの処理を行う
参考
【Swift】ライブラリを使用しないHTTPリクエストの実装方法
https://blog.djima.net/2021/06/30/【Swift】ライブラリを使用しないHTTPリクエストの実装方法/