質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

849閲覧

swiftで自作APIを呼び出したい。

moromoro

総合スコア10

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/11/18 06:33

編集2021/11/20 16:17

前提・実現したいこと

日記アプリ開発中、フロイトエンドは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側が問題だと思います。
辞書型の取り出し方についてよくわからないので、どなたかご教授よろしくおねがいします。
fastapi側のレスポンス
"heart"に画像がbase64で保存されているのでそれをdecodeして表示しようと思っています。

補足情報(FW/ツールのバージョンなど)

macbookを使用
swift,pythonを使用

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問