【ローカル環境】Django REST framework x SwiftでAPIを叩く(GET)
ローカルで立ち上げたDRFでXcodeからAPIを叩きます。
参考にしたサイト:https://qiita.com/Ajyarimochi/items/5a6e7a44d3fb2ab37f25
// ContentView
import SwiftUI
import Foundation
struct ContentView: View {
var body: some View {
Button(action: {
fetchAPI()
})
{
Text("Fetch API")
}
}
}
func fetchAPI() {
print("APIを叩きました")
let url: URL = URL(string: "http://127.0.0.1:8000/api/v1/books/")!
URLSessionTask = URLSession.shared.dataTask(with: url, completionHandler: {(data, response, error) in
print("data: \(String(describing: data))")
print("response: \(String(describing: response))")
print("error: \(String(describing: error))")
print("------------------------------------")
do{
let responseData = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments)
print(responseData)
}
catch {
print(error)
}
}).resume()
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Djangoは起動しておきます。
あとはXcodeを起動し、シミュレーターからボタンをタップすると上記のコードが実行されます。
URLSession.shared.dataTaskでAPIに接続。
responseDataの変数に、レスポンスデータを格納しています。