コース一覧
    Node.js API開発
    サーバーとリクエスト

    Node.js API開発

    HTTPサーバーとREST APIの設計・実装を学び、Node.jsでクライアントから使えるAPIを構築できるようにします。

    1
    はじめてのサーバー
    01. サーバーとリクエスト15分
    02. Expressを導入する15分
    03. ルーティング15分
    04. JSONを返す15分
    05. 開発の回し方15分
    06. つくる:サーバー始動20分
    07. 第3章クイズ10分
    2
    REST APIのきほん
    01. RESTの考え方15分
    02. 一覧を返す15分
    03. 1件を返す15分
    04. 登録を受ける15分
    05. 更新と削除15分
    06. ステータスコード15分
    07. つくる:商品CRUD完成20分
    08. 第4章クイズ10分

    サーバーとリクエスト

    サーバーは待っているプログラム

    ここまでのスクリプトは、動かすと最後まで走って終わりました。サーバーは違います。起動したあと、終わらずに待ち続けます。

    待っているのはリクエストです。誰かが「商品一覧をください」と言ってくるまで何もせず、来たら応答を返し、また待ちに戻ります。この繰り返しがサーバーの仕事です。

    リクエストの中身

    ブラウザや React アプリから届くリクエストには、少なくとも次の 2 つが入っています。

    要素例意味
    メソッドGET POST何をしたいのか
    パス/items /items/1どれに対してか

    GET /items なら「商品一覧を見せて」、POST /items なら「商品を登録して」です。動詞がメソッド、目的語がパスだと考えると読みやすくなります。

    応答の中身

    返すほうにも決まった形があります。

    プレーンテキスト

    ステータスコード  200
    本文              {"id":1,"name":"レザースニーカー"}

    ステータスコードは、うまくいったかどうかを表す 3 桁の数字です。よく使うものは次のとおりです。

    コード意味
    200うまくいった
    201新しく作った
    404そんなものは無い
    500こちらの都合で失敗した

    数字だけで結果が伝わるので、相手のプログラムは本文を読む前に成否を判断できます。

    ポートという待ち受け口

    サーバーは番号の付いた口で待ちます。これがポートです。

    プレーンテキスト

    http://localhost:3000/items

    3000 がポート番号、/items がパスです。同じパソコンの中で複数のサーバーを動かせるのは、それぞれが別のポートで待つからです。逆に、すでに使われている番号で起動しようとすると失敗します。

    手を動かす

    演習では、メソッドとパスの組み合わせから、そのリクエストが何を求めているのかを判定する関数を書きます。サーバーが最初にする「どの依頼なのかを見分ける」仕事を、自分で書いてみてください。

    要件

    1. GET と /items なら 商品一覧を返します
    2. POST と /items なら 商品を登録します
    3. GET と /health なら 動いているか答えます
    4. そのどれでもないときは 対応していないリクエストです

    ヒント

    メソッドとパスの両方が合ったときだけ、その依頼だと判定します

    2 つの条件をまとめて確かめるには `&&` を使います

    どれにも当てはまらなかったときの返り値は、最後の 1 行がそのまま使えます

    生田 陸人
    監修生田 陸人
    ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
    編集 ゆめさく編集部·公開 2026/08/10

    関連レッスン

    • Expressを導入する

      Hello fleamaを返す最小サーバーを立てられるようになります。

    • ルーティング

      ルートページとaboutページを作り、パスごとに応答を分けられるようになります。

    • JSONを返す

      商品1件をJSONで返し、APIらしい応答を返せるようになります。

    • 開発の回し方

      変更から確認までを短くする回し方を知り、開発を高速化できるようになります。

    このレッスンに出てくる用語

    意味があいまいなまま進んだ語は、ここから読み直せます。

    • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
    • リクエストWeb 通信の基本単位、ブラウザの問い合わせとサーバーの返答
    • ブラウザユーザーから見たWebのクライアント
    • メソッドクラスに属する関数
    • ステータスコード200/201/404 など結果を示す3桁の数値
    • 判断YES/NO 分岐を表す菱形
    • ポート番号1台のサーバーで複数のサービスを区別するための番号。
    • 関数処理に名前を付けて再利用できる単位
    main.js
    エディタを読み込んでいます

    メモ

    サーバーとリクエスト

    ⌘S で保存