HTTPリクエストの送信

Swift:
HTTPリクエストの送信

How to: (どのように実行するか)

SwiftでHTTPリクエストを送る方法は、URLSessionクラスを利用することです。以下はGETリクエストのサンプルコードです。

import Foundation

let url = URL(string: "https://api.example.com/data")!

let task = URLSession.shared.dataTask(with: url) { data, response, error in
    // エラーハンドリング
    if let error = error {
        print("Error: \(error)")
        return
    }
    
    // レスポンスの確認とデータの使用
    if let response = response as? HTTPURLResponse, response.statusCode == 200 {
        if let data = data, let dataString = String(data: data, encoding: .utf8) {
            print("Received data:\n\(dataString)")
        }
    } else {
        print("HTTP Request failed")
    }
}

task.resume()

サンプル出力:

Received data:
{"example":"This is a JSON response."}

Deep Dive (深掘り)

HTTPリクエストは、ウェブの基盤となり、1990年代初頭に誕生しました。URLSessionはiOS 7以降に利用可能で、それ以前にはNSURLConnectionが使われていました。代替手段として、サードパーティ製ライブラリAlamofireがありますが、小規模なプロジェクトではSwift標準の機能で十分です。URLSessionは複数の設定をカスタマイズでき、例えばタイムアウト、キャッシュポリシー、ヘッダーの指定等を行うことができます。

See Also (関連情報)