LoginSignup
30
22

More than 5 years have passed since last update.

axiosのリクエストとレスポンスの内容をconsole.logで共通的に出力する方法

Posted at

主に開発時にaxiosのリクエスト内容、そしてレスポンスの内容を確認したいことがあると思います。

今回はそんなニーズに対し、各タイミングで内容をconsoleに出力する方法を考えていきたいと思いつず。

結論: axiosのinterceptorsを利用して出力処理を挟んでおく

axios.interceptors.request.use(request => {
  console.log('Starting Request: ', request)
  return request
})

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

axios.get('https://yesno.wtf/api')

// Starting Request: {リクエスト内容} <- consoleに出力される

// Response: {レスポンス内容} <- consoleに出力される

上記の処理を記述すると、axiosの各メソッド実行時にRequestとResponseの内容がconsoleに出力されるようになります。

考察

responseだけであればthen()メソッドの内部でconsole.logを実行すればいいのですが、ロジック部分にconsole.logを書き込むのは煩雑ですし、requestの内容を出力するとなるとやや面倒です。

そのためinterceptor、つまりrequest実行時とresponse受取時に処理を追加する部分でconsole.logを追加してあげることで実現しています。

参考

30
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
22