前提・実現したいこと
日記アプリ開発中、フロイトエンドはswift,バックエンドはpythonで作成しています。
swift側で作成した画像base64化してをpythonに渡して画像加工して、リスポンスをまた画像に戻して表示するアプリです。
リスポンスとして返ってきた値をうまく表示されないです。
error
1boringssl_metrics_log_metric_block_invoke(144) Failed to log metrics
該当のソースコード
python
1#fastapiを作成しました。 2@app.post("items") 3async def create_item(item: Item): 4 #省略 5 response.append({'kekka':kekka,'heart': base64_data}) 6 return JSONResponse(response)
swift
1struct RequestItem: Codable { 2 var id: String 3 var data: String 4 } 5 6struct ResponseItem: Codable { 7 var id: String 8 var heart: String 9 } 10let listUrl = "http:_____/items/" 11 12let requestItems = RequestItem(id : "0", data : base64String) 13 14guard let requestBody = try? JSONEncoder().encode(requestItems) else { return } 15 16var request = URLRequest(url: URL(string: listUrl)!) 17request.httpMethod = "POST" 18request.httpBody = requestBody 19request.addValue("application/json", forHTTPHeaderField: "Content-Type") 20URLSession.shared.dataTask(with: request) { (data, response, error) in 21 if let data = data, 22 let responseItems = try? JSONDecoder().decode([ResponseItem].self, from: data), 23 let resultData = Data(base64Encoded: responseItems[0].heart), 24 let resultImage = UIImage(data: resultData) 25 { 26 DispatchQueue.main.async { 27 self.ImageView.image = resultImage 28 } 29 } 30 }.resume()
試したこと
apiについて調べた結果response200と表示されているので、swift側が問題だと思います。
辞書型の取り出し方についてよくわからないので、どなたかご教授よろしくおねがいします。
"heart"に画像がbase64で保存されているのでそれをdecodeして表示しようと思っています。
補足情報(FW/ツールのバージョンなど)
macbookを使用
swift,pythonを使用
あなたの回答
tips
プレビュー