コース一覧
    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分

    ルーティング

    パスごとに処理を分ける

    前のレッスンで app.get を 2 つ書きました。あの 1 行ずつがルートです。パスと処理の結びつきを 1 件登録した、という意味になります。

    JavaScript

    app.get("/", (req, res) => res.send("Hello fleama"));
    app.get("/about", (req, res) => res.send("フリマアプリ fleama です"));

    リクエストが届くと、Express は登録されたルートを上から順に見て、最初に合ったものを動かします。合うものが無ければ 404 を返します。この見分けが、前々回に if で書いていた処理の中身です。

    上から順に見る、の意味

    順に見るので、書く順番が結果を変えることがあります。

    JavaScript

    app.get("/items/new", (req, res) => res.send("出品フォーム"));
    app.get("/items/:id", (req, res) => res.send("商品の詳細"));

    :id は「何でも入る場所」を表す書き方で、次のレッスンで詳しく扱います。ここで大事なのは、この 2 つを逆に書くと /items/new が :id に吸い込まれてしまうことです。具体的なパスを先、何でも合うパスを後に置きます。

    メソッドが違えば別のルート

    同じパスでも、メソッドが違えば別々に登録できます。

    JavaScript

    app.get("/items", (req, res) => res.send("一覧"));
    app.post("/items", (req, res) => res.send("登録"));

    GET /items と POST /items は、パスは同じでも別のルートです。第4章で作る API は、この組み合わせが土台になります。

    送り返す方法

    res には返し方がいくつかあります。ここまで使ってきたのは send です。

    書き方何を返すか
    res.send("文字列")文字列をそのまま
    res.json({ ... })JSON
    res.status(404).send(...)コードを指定して返す

    res.json は次のレッスンで使います。

    1 つのリクエストに返せる応答は 1 回だけです。res.send を 2 回書くとエラーになります。分岐したときは、返したらその場で処理を終えてください。

    手を動かす

    演習では、ルートを 3 つ登録します。パスごとに違う応答を返し分けてください。

    要件

    1. GET / に対して Hello fleama を返す
    2. GET /about に対して フリマアプリ fleama です を返す
    3. GET /items に対して 商品一覧です を返す

    ヒント

    すでにある `app.get("/", ...)` と同じ形を、あと 2 つ書き足します

    パスの文字列と、返す文字列を変えるだけです

    `return app;` より前に書き足してください。返したあとの行は動きません

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

    関連レッスン

    • JSONを返す

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

    • 開発の回し方

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

    • つくる:サーバー始動

      健康確認と商品一覧のパスを備え、起動から応答までを自力で組めるようになります。

    • 第3章クイズ

      Expressとルーティングの理解を4択で確認します。

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

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

    • 処理計算や代入を表す長方形
    • リクエストWeb 通信の基本単位、ブラウザの問い合わせとサーバーの返答
    • メソッドクラスに属する関数
    • エンドポイント「この URL を叩くとこの機能が動く」入口の住所
    • APIアプリ間でデータをやり取りする窓口
    • applicationJSON 本文を送るときの Content-Type
    main.js
    エディタを読み込んでいます

    メモ

    ルーティング

    ⌘S で保存