SwiftUI-API取得

例、OpenWeather API

JSONを受ける構造体を用意する

Codableを継承させた構造体を用意する。
・変数名はJSONのキーと文字列を合わせる。
・型も受け取れるように合わせる
・階層化している場合は同じく構造体を階層化させて合わせる。
・リストView等で使う場合は Identifiable も継承させる。
→その場合は var id: UUID { UUID() } 等を一番上位の構造体で宣言しておく。 

送られてくるJSON

Swift側で用意する構造体

デコードの例

JSONとキーの文字列、構造が合っていないと失敗します。
受け取る個数は合っていなくても問題なく受け取れます、例API側の項目が5つ、アプリ側の項目が3つでもちゃんとデコードに成功します。
受け取りたいデータだけ宣言すればOK。
コードのURLは一度違うサーバーを経由している想定です。

APIリクエスト時のトークン取得方法(必要ある時)

取得した token を UserDefaultsやKeychainに保存しておき、
その後のAPIリクエストでは Authorization: Bearer <token> を付与してアクセスします。

APIリクエスト時のトークン付与方法(必要ある時)

コメント

タイトルとURLをコピーしました