コード内の1か所からすべてのaxios呼び出しを記録する方法 質問する

コード内の1か所からすべてのaxios呼び出しを記録する方法 質問する

私は React アプリケーションに axios を使用しており、アプリ内のどこででも実行しているすべての axios 呼び出しをログに記録したいと考えています。私はすでに create 関数を介して axios の単一のグローバル インスタンスを使用しており、汎用の console.log をログに記録できます。ただし、呼び出される関数、パラメーターなどの詳細情報が必要です。

ベストアンサー1

これを行う最善の方法は、インターセプターです。各インターセプターは、リクエスト/レスポンスの前に呼び出されます。この場合は、ログ記録インターセプターになります。

axios.interceptors.request.use(request => {
  console.log('Starting Request', JSON.stringify(request, null, 2))
  return request
})

axios.interceptors.response.use(response => {
  console.log('Response:', JSON.stringify(response, null, 2))
  return response
})

またはそれに類するもの。

axios の新しいインスタンスを使用するのは良いことです。

const api = axios.create({
  timeout: 1000
})

そうすれば電話をかけることができます

api.interceptors[...]

おすすめ記事