Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

Axiosとは、AxiosでGETリクエストを実装するには?

Axiosは、JavaScriptのHTTPクライアントライブラリとして、APIとの通信を行う時に非常に通用されるツールになります。それでは、AxiosでGETリクエストを送信するには、どうしたらいいですか?本文では、Axiosを詳しく紹介した上、それを使ってGETリクエストを実装する方法を皆さんに紹介します。

中村 拓也

中村 拓也

Updated on 11月 12, 2024

Axiosは、JavaScriptのHTTPクライアントライブラリとして、APIとの通信を行う時に非常に通用されるツールになります。それでは、AxiosでGETリクエストを送信するには、どうしたらいいですか?本文では、Axiosを詳しく紹介した上、それを使ってGETリクエストを実装する方法を皆さんに紹介します。また、Axiosより直感的でAPIリクエストを送信したり、レスポンスを取得したりできる方法も一緒に紹介していきたいと思います。

button

Axiosとは

AXIOSは、JavaScriptのHTTPクライアントライブラリです。XMLHttpRequestやfetch APIといったネイティブのHTTP通信方法をラッパーすることで、シンプルで直感的なインターフェースを提供しています。

Promiseベースの設計になっており、非同期処理が扱いやすくなっています。GETやPOST、PUT、DELETEといったHTTPメソッドを対応しており、パラメータの設定やヘッダーのカスタマイズも簡単に行えます。レスポンスデータは自動的にJSONに変換されるため、取得したデータをすぐに扱えるのが魅力的です。

Axiosの公式サイト

Axiosのインストール

AXIOSを利用するには、まずはAxiosをインストールする必要があります。Axiosのインストールは、パッケージマネージャのnpmかyarnを利用することができます。それぞれのAxiosのインストール用のコマンドは次のように:

npmでAxiosをインストール:

npm install axios

yarnでAxiosをインストール:

yarn add axios

AxiosでGETリクエストを実装

上記のコマンドでAxiosをインストールすると、次の操作手順を参照して、AxiosでGETリクエストを実行することができます。

一般のGETリクエスト

次は、Axiosでの一般的なGETリクエストのサンプルコードです。

// Axiosのimport
import axios from 'axios'; 

// GETリクエストの記述
axios.get('https://example.com/api/endpoint')
  .then(response => {
    // レスポンス処理
  })
  .catch(error => {
    // エラーハンドリング
  });

上記コードは、axios.getでAPIのエンドポイントを指定して、thenでレスポンスのデータを受け取り、catchでエラーをハンドリングしています。

URLにパラメータを追加して渡すGETリクエスト

GETリクエストを実装する前に、パラメータを追加して渡したい場合、パラメータを直接にAPIエンドポイントのURLの後に追加することができます。

const axios = require('axios');

// パラメータが2つある場合:id と category
const id = 123;
const category = 'electronics';

// URLにパラメータを直接に追加して渡すことが可能
axios.get(`https://api.example.com/data?id=${id}&category=${category}`)
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

paramsオブジェクトでパラメータを渡すGETリクエスト

また、Axiosは、Paramsオブジェクトオプションをも提供しています。このオプションを使って、GETリクエストで利用するパラメータを定義することができます。その上、ヘッダーの設定もheadersオブジェクトを利用することによって実現されます。

axios.get('/api/endpoint', {
  params: {
    id: 123
    category = 'electronics'
  },
  headers: {
    'X-Requested-With': 'XMLHttpRequest' 
  }
})

AxiosでRESTfulなGETリクエストを実装

現在、主流となっているRESTful APIのGETリクエストを実装したい場合、Axiosを利用したら、実現できます。

// ユーザー一覧を取得
axios.get('/users')
  .then(res => {
    console.log(res.data) 
  })

// IDを指定してユーザーを取得  
axios.get('/users/12345')
  .then(res => {
    console.log(res.data)
  }) 

// クエリでフィルタリング
axios.get('/users?name=john')
  .then(res => {
     console.log(res.data)
  })

// 404の場合はキャッチする  
axios.get('/users/98765')
  .catch(err => {
    if (err.response.status === 404) {
      console.log('User not found') 
    }
  })

このようにAXIOSは次の手順を通じて、REST APIの設計が実現できます。

  • URLにリソース指定
  • クエリ文字列の利用
  • ステータスコードのチェック
  • レスポンスデータの取得

加えて、第二引数に設定オブジェクトを渡せば、キャッシュの有効期限の設定などもできます。

axios.get('/users', {
  params: {...}, 
  headers: {
    'Cache-Control': 'max-age=3600' 
  } 
})

Express.jsでモックサーバーを作成してGETリクエストのレスポンスを取得

AxiosでGETリクエストの実装をより詳しく説明するために、次は、簡単なNode.jsサーバーを立てて、Express.jsフレームワークでリクエストを処理する実例を皆さんに紹介します。次の操作に進む前に、AxiosとExpress.jsがインストールされていることを確保してください。

ステップ⒈プロジェクトのフォルダーでserver.jsというファイルを作成して、次のコードを入れます。

const express = require('express');
const app = express();
const port = 3000;

app.get('/data', (req, res) => {
  // モックデータ
  const data = {
    id: req.query.id,
    category: req.query.category,
    message: 'Data retrieved successfully!'
  };

  res.json(data);
});

app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

ステップ⒉ターミナルで次のコマンドでサーバー機を起動します。

node server.js
注:エラーが発生する場合は、まずは expressが正確にインストールされていることを確認してください。インストール用のコマンドはnpm install expressです。

そして、サーバーはhttp://localhost:3000が起動し、GETリクエストを処理できるようになります。

ステップ⒊クライアントでAxiosを使ってGETリクエストを実装します:プロジェクトフォルダーでclient.jsというファイルを作成して、次のコードを入れます。

const axios = require('axios');

// パラメータが2つある場合:id と category
const id = 123;
const category = 'electronics';

axios.get('http://localhost:3000/data', { params: { id, category } })
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

ステップ⒋ターミナルで次のようなコードを実装します。

node client.js

ここで、コンソールでサーバーから取得できたサーバーを確認できるようになります。

サーバーが返すレスポンス

0コードでAPIリクエストを実装してレスポンスを取得

AxiosでGETリクエストを実行するには、ある程度のコーディング能力が必要となります。それでは、コードなしで直感的なUIでAPIリクエストを実装することができますか?このような場合は、Apidogという完璧なAPI管理ツールを皆さんに紹介します。Apidogを使って、GET、PUT、POST、DELETEなどのHTTPメソッドを使用して、簡単にリクエストを送信することができます。また、Apidogにはモックサーバーが搭載されているので、自分でサーバーを立てなくても、直ちにレスポンスを取得することができるので、非常に便利なツールになります。

button

ステップ⒈Apidogを立ち上げ、APIの実行ページで、HTTPメソッド、APIエンドポイントとパラメータを入力して、「送信」ボタンをクリックするだけで、リクエストを送信できます。

ご案内:ここでHTTPメソッドを指定することもできますし、直感的なUIで必須のパラメータを記入することもできます。

GETリクエストを送信

ステップ⒉ここでレスポンスをすぐに取得できます。下図のようにレスポンスの右側に、取得したレスポンスが正確であるかどうかを自動的に検証結果を表示します。

ご案内:ここで自分でサーバーを立てる必要がなく、Apidogは内蔵のモックサーバーを利用してリアルなデータを返します。

レスポンスが返す

ステップ⒊ここでAPICaseを保存ボタンをクリックしてこのリクエストの結果を保存することもできます。 次回、このケースを確認したり、参照したりする必要がある場合、直接に利用できるようになるので、非常に便利です。

apidog
button
ApidogでバックエンドAPI開発の効率をどう向上させるか?チュートリアル

ApidogでバックエンドAPI開発の効率をどう向上させるか?

ApidogはAPI管理の全体的なソリューションを提供し、定義からデバッグ、ドキュメント作成までバックエンド開発を最適化します。プロジェクトの規模に関わらず、開発者が効率的に作業を完了するのを支援します。

中村 拓也

11月 25, 2024

APIテスト効率化:ApidogでのJSONレスポンス管理法チュートリアル

APIテスト効率化:ApidogでのJSONレスポンス管理法

この記事では、ApidogでJSONレスポンスからアサーション設定、変数抽出、JSONパスのコピー方法を解説しました。APIテストの自動化と効率的なレスポンス検証が簡単になり、データの再利用も可能です。Apidogを使い、API機能を確認しましょう。

中村 拓也

11月 20, 2024

ApidogとAlgolia統合で実現する効率的なドキュメント検索チュートリアル

ApidogとAlgolia統合で実現する効率的なドキュメント検索

本記事は、AlgoliaをApidogと統合し、APIドキュメントの検索機能を改善する方法を紹介します。最適な検索設定を維持しながら、情報アクセスの迅速さと効率性を向上させ、ユーザー体験を向上させます。

中村 拓也

11月 19, 2024