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 axiosAxiosのインポート
デフォルトエクスポートをインポートすると、リクエストを開始できます。
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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- AxiosによるHTTPリクエスト
- ライフサイクルフックとデータ取得
- エラーハンドリングとグローバルインターセプター