0Pricing
Vue Academy · レッスン

AxiosによるHTTPリクエスト

AxiosでAPIにGETおよびPOSTリクエストを送信します

「AxiosによるHTTPリクエスト」はCoddyKit上の無料Vue Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはVue Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Vue Academyコースには全3レッスンが含まれています。

APIとの通信

ほとんどの実際のアプリは、HTTP経由でバックエンドからデータを読み込みます。ブラウザーには組み込みのfetchがありますが、多くのVueプロジェクトではAxiosを使います。Axiosは人気のあるPromiseベースのHTTPクライアントで、より使いやすいAPI、自動的なJSON解析、柔軟な設定機能を備えています。

Axiosのインストール

パッケージマネージャーを使ってプロジェクトにAxiosを追加し、必要な場所でインポートします。

npm install axios

Axiosのインポート

デフォルトエクスポートをインポートすると、リクエストを開始できます。

import axios from "axios"

GETリクエスト

axios.getを使ってデータを取得します。これはレスポンスオブジェクトに解決されるPromiseを返します。本文はresponse.dataにあり、すでにJSONから解析されています。

axios.get("https://api.example.com/users")
  .then(response => {
    console.log(response.data)
  })

POSTリクエスト

axios.postを使ってデータを送信します。2番目の引数はリクエスト本文で、Axiosが自動的にJSONへシリアライズします。

axios.post("https://api.example.com/users", {
  name: "Grace",
  email: "grace@example.com"
})

async/awaitの使用

async/awaitを使うと、Promiseをより明確に記述できます。関数をasyncとして宣言し、リクエストをawaitします。

async function loadUsers() {
  const response = await axios.get("/api/users")
  return response.data
}

Vueのメソッド内での使用

よく使われるパターンは、コンポーネントのメソッドからAxiosを呼び出し、結果をリアクティブなデータに保存する方法です。

export default {
  data() {
    return { users: [] }
  },
  methods: {
    async fetchUsers() {
      const res = await axios.get("/api/users")
      this.users = res.data
    }
  }
}

リクエスト設定:クエリパラメーター

paramsオブジェクトを渡すと、クエリ文字列のパラメーターを追加できます。URLの組み立てはAxiosが行います。

axios.get("/api/users", {
  params: { page: 2, limit: 10 }
})
// requests /api/users?page=2&limit=10

リクエスト設定:ヘッダー

認証トークンなどのカスタムヘッダーは、設定オブジェクトを通して送信します。

axios.get("/api/profile", {
  headers: {
    Authorization: "Bearer " + token
  }
})

ベースURLの設定

完全なURLをあちこちで繰り返すと、ミスの原因になります。baseURLと共通のデフォルト設定を持つAxiosのインスタンスを作成し、アプリ全体で使用しましょう。

import axios from "axios"

export const api = axios.create({
  baseURL: "https://api.example.com",
  timeout: 5000,
  headers: { "Content-Type": "application/json" }
})

// elsewhere: api.get("/users")

その他のHTTPメソッド

Axiosは一般的なHTTP動詞であるget、post、put、patch、deleteに対応しています。実行したい処理に合ったものを使います。

api.put("/users/1", { name: "Updated" })
api.patch("/users/1", { name: "Patched" })
api.delete("/users/1")

理解度チェック

Axiosによるリクエストについての理解度を確認しましょう。

まとめ

AxiosはPromiseベースのHTTPクライアントです。get、post、put、patch、deleteを使い、設定オブジェクトを通してparamsとheadersを渡します。読みやすさのためにasync/awaitを使うとよいでしょう。baseURLを指定したaxios.createによる共有インスタンスを使うと、リクエストの重複を避けられます。次は、コンポーネントのライフサイクルに適したタイミングでデータを取得します。

よくある質問

「AxiosによるHTTPリクエスト」レッスンは無料ですか?

はい。「AxiosによるHTTPリクエスト」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Vue Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Vue Academyコースには全3レッスンが含まれています。

「AxiosによるHTTPリクエスト」で何を学びますか?

AxiosでAPIにGETおよびPOSTリクエストを送信します ブラウザで直接実行するハンズオンコードでVue Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Vue Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのVue Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。

「AxiosによるHTTPリクエスト」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このVue Academyレッスンでコードを書いて実行できますか?

はい。すべてのVue Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. AxiosによるHTTPリクエスト
  2. ライフサイクルフックとデータ取得
  3. エラーハンドリングとグローバルインターセプター
← Vue Academyに戻る