カテゴリ: React 更新日: 2025/12/13

ReactでAxiosのPOSTリクエストを完全ガイド!初心者でもわかるAPI通信の基本

AxiosでPOSTリクエストを送る方法
AxiosでPOSTリクエストを送る方法

先生と生徒の会話形式で理解しよう

生徒

「Reactでサーバーに情報を送る方法はありますか。AxiosのPOSTというものを聞いたのですが。」

先生

「POSTリクエストを使うと、自分の作ったデータを相手に届けられます。会員登録やフォーム送信などでよく使われています。」

生徒

「GETとどう違うんですか。初心者でも理解できますか。」

先生

「GETは見るだけのお願い、POSTは届け物を渡すお願いだと考えるとわかりやすいです。具体的にコードを見ながら進めましょう。」

1. POSTリクエストとは?

1. POSTリクエストとは?
1. POSTリクエストとは?

POSTリクエストは、サーバーにデータを送信するための方法です。Reactでボタンを押したときに名前やメッセージを送る場合などに使われます。GETリクエストが「データを見せて」とお願いするのに対し、POSTリクエストは「この荷物を受け取ってください」と渡すイメージです。

初心者でも安心できるように簡単に説明すると、フォームに入力した内容をサーバーへ送信するのがPOSTの典型的な使い方です。サーバーはその内容を受け取り、保存したり計算したりして結果を返してくれます。

2. AxiosでPOSTリクエストを送る準備

2. AxiosでPOSTリクエストを送る準備
2. AxiosでPOSTリクエストを送る準備

まずAxiosをインストールします。コマンド一行でプロジェクトに追加できるので、初心者でも迷いません。インストール後にファイルでAxiosを読み込むと、すぐに使える状態になります。

AxiosはJavaScriptやReactで人気が高く、わかりやすい書き方ができるため、学習初期の方にもおすすめです。

3. シンプルなPOSTリクエストの例

3. シンプルなPOSTリクエストの例
3. シンプルなPOSTリクエストの例

ここではフォーム入力の内容をサーバーに送信する例を紹介します。ユーザーが名前とメッセージを入力し、ボタンを押すと送信されます。


import React, { useState } from "react";
import axios from "axios";

function App() {
  const [name, setName] = useState("");
  const [message, setMessage] = useState("");
  const [response, setResponse] = useState("");

  const handleSubmit = async () => {
    try {
      const res = await axios.post("https://jsonplaceholder.typicode.com/posts", {
        name,
        message
      });
      setResponse("送信成功: " + JSON.stringify(res.data));
    } catch (e) {
      setResponse("エラーが発生しました");
    }
  };

  return (
    <div>
      <input
        type="text"
        placeholder="名前を入力"
        value={name}
        onChange={(e) => setName(e.target.value)}
      />
      <input
        type="text"
        placeholder="メッセージを入力"
        value={message}
        onChange={(e) => setMessage(e.target.value)}
      />
      <button onClick={handleSubmit}>送信</button>
      <div>{response}</div>
    </div>
  );
}

export default App;
入力欄に文字を入力してボタンを押すと、サーバーにデータが送られ、成功すると送信結果が画面に表示されます。

4. POSTでデータを送るときのポイント

4. POSTでデータを送るときのポイント
4. POSTでデータを送るときのポイント

POSTでは、送るデータをJavaScriptのオブジェクト形式で書きます。サーバーにとっては「荷物の中身リスト」のようなものです。名前や値を組み合わせてわかりやすく整理しましょう。

また、レスポンスと呼ばれる返事を必ず受け取ります。これにより「本当に届いたのか」「どう保存されたのか」が確認できます。レスポンスを画面に出すことで、ユーザーも安心できます。

5. エラーハンドリングとユーザー体験

5. エラーハンドリングとユーザー体験
5. エラーハンドリングとユーザー体験

POSTリクエストが失敗することもあります。ネットワークが切断されたり、サーバーが受け付けない場合です。そのため、エラーメッセージを画面に表示する仕組みを入れておくことが重要です。

「ただいま混み合っています」「再度お試しください」など、やさしい言葉を表示するとユーザー体験が良くなります。初心者でも理解できる工夫として、成功と失敗の両方を画面に見せる練習をすると安心です。

6. ヘッダーを指定したPOSTリクエスト

6. ヘッダーを指定したPOSTリクエスト
6. ヘッダーを指定したPOSTリクエスト

ときどきサーバーに「この人は誰か」を示す情報を一緒に送る必要があります。これをリクエストヘッダーと呼びます。特にログインや会員情報を扱う場合は、認証トークンという鍵を使います。


import axios from "axios";

async function sendData(token) {
  const res = await axios.post(
    "https://example.com/api/data",
    { title: "テスト", body: "内容" },
    {
      headers: { Authorization: `Bearer ${token}` }
    }
  );
  return res.data;
}
このコードでは、認証トークンをヘッダーに含めて安全にデータを送信します。

7. よくあるエラーと解決方法

7. よくあるエラーと解決方法
7. よくあるエラーと解決方法

POSTリクエストでありがちなエラーには、住所(URL)の間違い、送る形式の誤り、認証の不足があります。エラーメッセージを確認すれば原因を探せます。四百番台のエラーは送る内容や方法に問題があり、五百番台のエラーはサーバーの側の問題を示しています。

初心者はまず「自分のコードの住所とデータ形式」を確認し、それでも解決しない場合はサーバー側の不具合を疑うと良いでしょう。

8. 実務で役立つ小さな工夫

8. 実務で役立つ小さな工夫
8. 実務で役立つ小さな工夫

POSTリクエストを連続で送るとサーバーが混雑することがあります。そこで、ボタンを押したらすぐに無効化する仕組みを入れると、重複送信を防げます。また、入力が空のときには送信を止めるようにすると無駄なリクエストを減らせます。

さらに、成功したときには入力欄を空に戻すなど、小さな工夫で使いやすさがぐっと上がります。

9. 検索エンジンに強い関連キーワード

9. 検索エンジンに強い関連キーワード
9. 検索エンジンに強い関連キーワード

React Axios POSTリクエスト、API通信、初心者向け、使い方、エラー、サンプルコード、解説、データ送信、フォーム、認証、トークン、ヘッダー、レスポンス、リクエスト、インストール、エラーハンドリング、入門、学習、解説。このような言葉を記事内に含めると検索エンジンに見つかりやすくなります。

まとめ

まとめ
まとめ

AxiosのPOSTリクエストで何ができるようになったのか

この記事では、ReactでAxiosを使ってPOSTリクエストを送信する方法について、 初心者の方でも理解しやすいように、基本から実践的な内容まで順を追って学んできました。 POSTリクエストは、サーバーにデータを届けるための重要な通信手段であり、 会員登録、問い合わせフォーム、コメント投稿など、多くのWebアプリで欠かせない存在です。 ReactとAxiosを組み合わせることで、こうした処理をシンプルかつ分かりやすく実装できるようになります。

GETリクエストが「情報を取得する」役割を持つのに対して、 POSTリクエストは「新しい情報を送信する」という役割を担っています。 この違いをイメージで理解できるようになると、 API通信全体の流れが一気に整理され、Reactでの開発がぐっと身近に感じられるようになります。 特にフォーム入力とPOSTリクエストの組み合わせは、実務でも頻繁に登場するため、 今回学んだ内容はそのまま実践に活かせる知識と言えるでしょう。

状態管理とPOSTリクエストの関係

記事の中では、useStateを使って入力値やレスポンスを管理し、 ボタン操作をきっかけにAxiosのPOSTリクエストを送信する例を紹介しました。 Reactでは、画面に表示する内容や入力中の値を状態として管理することが基本となります。 その状態をPOSTリクエストの送信データとして使うことで、 ユーザーの操作とサーバー通信が自然につながる構成になります。

また、通信が成功した場合と失敗した場合の両方を考慮し、 画面にメッセージを表示する工夫も重要です。 成功時には「送信できた」という安心感を、 失敗時には「何が起きたのか」を伝えることで、 使いやすく信頼できるアプリケーションに近づきます。 AxiosのPOSTリクエストは、このようなユーザー体験を支える大切な要素です。

サンプルプログラムで全体の流れを確認

ここで、ReactとAxiosを使ったPOSTリクエストの流れを、 もう一度シンプルなサンプルプログラムで確認してみましょう。 入力値を送信し、その結果を画面に表示する基本構造です。


import React, { useState } from "react";
import axios from "axios";

function PostSample() {
  const [title, setTitle] = useState("");
  const [result, setResult] = useState("");

  const sendPost = async () => {
    try {
      const res = await axios.post(
        "https://jsonplaceholder.typicode.com/posts",
        { title }
      );
      setResult("送信完了: " + res.data.title);
    } catch {
      setResult("送信に失敗しました");
    }
  };

  return (
    <div>
      <input
        type="text"
        value={title}
        placeholder="タイトルを入力"
        onChange={(e) => setTitle(e.target.value)}
      />
      <button onClick={sendPost}>送信</button>
      <p>{result}</p>
    </div>
  );
}

export default PostSample;

この例では、入力された内容をそのままPOSTリクエストとして送信し、 レスポンスを受け取って画面に表示しています。 「入力 → 送信 → 結果表示」という一連の流れを理解できれば、 AxiosのPOSTリクエストの基本はしっかり身についていると言えます。 ここにエラーハンドリングやヘッダー設定を加えることで、 より実践的なAPI通信へと発展させていくことができます。

AxiosのPOSTを理解することの意味

Axiosを使ったPOSTリクエストを理解することは、 Reactで本格的なWebアプリを作るための大きな一歩です。 データの送信ができるようになると、 表示するだけの画面から、ユーザーと双方向でやり取りできるアプリへと進化します。 フォーム送信、データ登録、更新処理など、 できることの幅が一気に広がるのを実感できるはずです。

初心者のうちは難しく感じるかもしれませんが、 まずは「送るデータ」「送信するタイミング」「受け取る結果」 この三つを意識しながら小さなサンプルを動かしてみることが大切です。 繰り返し試すことで、AxiosとPOSTリクエストの仕組みが自然と身についていきます。

先生と生徒の振り返り会話

生徒

「POSTリクエストって難しいと思っていましたが、 データを届ける仕組みだと考えると分かりやすくなりました。」

先生

「その理解で大丈夫です。 Axiosを使えば、Reactでも直感的にPOST通信が書けます。」

生徒

「入力フォームと組み合わせると、 実際のアプリっぽくなって楽しいですね。」

先生

「そうですね。 送信、成功、失敗の流れを意識できると、 実務でも役立つコードが書けるようになります。」

生徒

「まずはシンプルなPOSTから練習して、 少しずつ応用していきたいです。」

先生

「それが一番の近道です。 AxiosのPOSTを理解できたのは、とても大きな成長ですよ。」

カテゴリの一覧へ
新着記事
New1
React
Reactコンポーネントの再利用と分割を完全マスター!初心者でもわかるコンポーネント設計
New2
React
ReactでAxiosインターセプターの使い方を完全ガイド!初心者でもわかるリクエストとレスポンスの処理方法
New3
React
JSXの書き方!初心者でもわかるReactタグと属性の基本ルール解説
New4
React
ReactとDockerを使った開発環境構築の基本を徹底解説!初心者でもわかるReactとDockerの連携方法
人気記事
No.1
Java&Spring記事人気No1
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.3
Java&Spring記事人気No3
React
Reactのイベントハンドリングのアンチパターンまとめ!初心者でもわかる注意点
No.4
Java&Spring記事人気No4
React
Reactのカスタムフックの作り方を完全ガイド!再利用可能なロジックを切り出す仕組み
No.5
Java&Spring記事人気No5
React
ReactでFetch APIのローディング状態を管理する方法|初心者にもわかる解説
No.6
Java&Spring記事人気No6
React
ReactのuseStateとuseEffectでよくあるエラーと解決方法ガイド!初心者でもわかるReactフック
No.7
Java&Spring記事人気No7
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.8
Java&Spring記事人気No8
React
Reactでファイルアップロードを実装する方法を解説!Fetch APIで画像やPDFを送る仕組みを初心者向けに紹介