目次
【解説】JavaScriptライブラリ「axios」の使い方
JavaScriptライブラリ「axios」について、下記の順に解説していきます。
・「axios」とは?
・「axios」を使うための準備
・「axios」の基本的な使い方
・「axios」で使う関数
順に見ていきましょう。
「axios」はHTTPリクエストを簡単に扱えるJavaScriptライブラリのことです。
fetchより使いやすいものとなりますね。
htmlファイルに下記読み込みタグを記述。
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>npm install axiosnpmを使用するときはインポートが必要です。(古い環境ではrequireの場合も)
import axios from 'axios';const axios = require('axios');「axios」を使う場合の、基本的な書き方がこちら↓
axios.関数名('ここにURLを記述')
  .then(response => 処理を書く)
  .catch(error => 処理を書く);「axios」は非同期関数です。
そのためthenやcatchを使います。
今回は例としてgetメソッドを使い、ポケモンAPIからピカチュウの名前を取得してみました↓
axios.get('https://pokeapi.co/api/v2/pokemon/pikachu/')
  .then(response => console.log(response.data.name)) // pikachu
  .catch(error => console.error(error));こんな感じで簡単にHTTP通信を行い、データを取得することが可能です。
ちなみにasync/awaitを使った書き方だとこちらになります↓
async function testAxios() {
  try {
    const response = await axios.get('https://pokeapi.co/api/v2/pokemon/pikachu/');
    console.log(response.data.name); // pikachu
  } catch (error) {
    console.error(error);
  }
}
  
testAxios();
「axios」で使う関数は主に下記らがあります。
| メソッド | 内容 | 
|---|---|
| GET | データ取得用 | 
| POST | データ送信時に頻繁に使用 データをリクエストボディに含める。  | 
| PUT | 既存データの完全更新 | 
| DELETE | データ削除用 通常は対象データをURLやパラメータで指定する  | 
【解説】JavaScriptライブラリ「axios」/「fetch」との違い
HTTPリクエストを処理するときに使えるもので「fetch」がありますよね。
どちらが良いのか、どう違うのか疑問になるかと。
結論的には「axios」のほうが便利です。
理由は下記の違いがあるため。
違い①:インストール方法
違い②:データ変換処理
違い③:エラーハンドリング
順に見ていきましょう。
- 「fetch」⇒標準に組み込まれているため、追加インストール不要です。
 - 「axios」⇒追加インストールが必要です。
 
ここだけみると「fetch」のほうがすぐ使えるため、便利っぽいと見えるかもしれません。
「fetch」だと.json()を使い、データをJSON形式に変換するためのコード記述が必要になります。
fetch('')
  .then(response => {
    return response.json();
  })
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error(error);
  });「axios」だと自動的にJSONで解析してくれるので、わざわざ変換する必要がありません。
axios.get('')
  .then(response => console.log(response.data))
  .catch(error => console.error(error));「axios」のほうがコードが簡潔になりましたね。
「fetch」はHTTPステータスコードが失敗(404や500)でも、エラーをスローしません。
そのため手動で「response.ok」を使い、成功可否を確認する必要があります。
fetch('')
  .then(response => {
    if (!response.ok) {
      throw new Error(`エラーが発生しました`);
    }
    return response.json();
  })
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error(error);
  });「axios」では200番以外のステータスコードがくると、自動的にエラーをキャッチしてくれます。
axios.get('')
  .then(response => console.log(response.data))
  .catch(error => console.error(error));これもみてわかるとおり、「axios」のほうがコードが簡潔になりましたね。
結論としてはプロジェクトの要件次第なきがします。
ライブラリに依存したくないときは「fetch」ですし、JSONデータを頻繁に使うのであれば「axios」のほうが簡潔にかけますし。
その時その時で必要に応じて使い分けが良いかと。
【解説】JavaScriptライブラリ「axios」の使い方:まとめ
- 「axios」はHTTPリクエストを簡単に扱えるJavaScriptライブラリのこと
 - 「axios」は非同期関数のためthenやcatchを使用
 - 「GET」「POST」「PUT」「DELETE」の関数が使える
 - 「fetch」より「axios」のほうが簡潔にコードを書ける
 

「axios」を使う時はためしてみてね!
					
