レスポンスに基づいてAxiosのresponseTypeを変更する 質問する

レスポンスに基づいてAxiosのresponseTypeを変更する 質問する

私はaxios リクエストこれにより、responseType: 'arraybuffer'応答が成功 200 の場合に正しく動作します。

ただし、私がアクセスしている API が JSON オブジェクトで 500 を返す場合、axios はそれを配列バッファーにエンコードします。

現在の回避策は、配列バッファから文字列へのライブラリを使用して JSON エラー メッセージをデコードすることです。これを行うより良い方法はありますか? axios が応答を定義された responseType に変換するのを防ぎますか?

私はもう試した応答インターセプターそしてまた未解決の問題axiosがレスポンスタイプを推測するのは素晴らしいことです。なぜなら、application/jsonコンテンツタイプを見てそれに応じて解決すれば

ベストアンサー1

解決策を見つけました。catch では、次のようにして arraybuffer の応答を json に変換できます。

const data = await JSON.parse(new TextDecoder().decode(error.response.data));

おすすめ記事