コース一覧
    Node.js API開発
    RESTの考え方

    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分

    RESTの考え方

    パスに動詞を入れない

    API を自己流で設計すると、こうなりがちです。

    プレーンテキスト

    /getItems
    /createItem
    /deleteItemById

    動くのですが、機能が増えるほど名前が散らかります。/getItemsSortedByPrice のようなパスが生まれ、どこに何があるのか分からなくなります。

    REST は、この散らかりを止める決まりごとです。考え方は 1 つだけです。

    パスは「何に対して」だけを表し、「何をするか」はメソッドで表す。

    リソースとメソッドの掛け算

    この決まりに従うと、さっきの 3 つはこうなります。

    したいことメソッドパス
    一覧を見るGET/items
    1 件を見るGET/items/1
    登録するPOST/items
    書き換えるPUT/items/1
    削除するDELETE/items/1

    パスは /items と /items/1 の 2 種類だけです。あとはメソッドの組み合わせで表しています。動詞をパスから追い出してメソッドへ移した結果です。

    この「何に対して」にあたるものをリソースと呼びます。fleama なら商品がリソースです。

    2 種類のパス

    リソースには 2 つの形があります。

    形例指すもの
    コレクション/items商品の集まり全体
    個別/items/1id が 1 の商品

    POST はコレクションに対して行います。/items に「この商品を仲間に入れて」と頼む形です。PUT と DELETE は、どれを対象にするか決まっているので個別のパスに対して行います。

    設計は表から始める

    実装の前に、この表を書きます。

    プレーンテキスト

    GET    /items      商品一覧を返す
    GET    /items/:id  商品1件を返す
    POST   /items      商品を登録する
    PUT    /items/:id  商品を書き換える
    DELETE /items/:id  商品を削除する

    これが fleama API の設計図です。第4章では、この 5 行を上から順に実装していきます。第8章の総合制作では、この表と実物を突き合わせて完成を確かめます。

    手を動かす

    演習では、やりたいことから、正しいメソッドとパスの組み合わせを導く関数を書きます。表を自分で引けるようにしてください。

    要件

    1. list なら GET /items、create なら POST /items
    2. detail なら GET /items/<id>、update なら PUT /items/<id>、delete なら DELETE /items/<id>
    3. そのどれでもないときは 対応していない操作です を返す

    ヒント

    一覧と登録はコレクション `/items` に対して行うので、id は使いません

    詳細・更新・削除は `/items/` のうしろに id をつなぎます

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

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

    関連レッスン

    • 一覧を返す

      商品一覧APIを書き、コレクションを返せるようになります。

    • 1件を返す

      商品詳細APIを書き、見つからないときに404を返せるようになります。

    • 登録を受ける

      出品APIを書き、作成したときに201を返せるようになります。

    • 更新と削除

      商品編集と取下げのAPIを書き、変更系を実装できるようになります。

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

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

    • エンドポイント「この URL を叩くとこの機能が動く」入口の住所
    • APIアプリ間でデータをやり取りする窓口
    • 設計何をどう作るかを決める前工程
    • メソッドクラスに属する関数
    • 関数処理に名前を付けて再利用できる単位
    main.js
    エディタを読み込んでいます

    メモ

    RESTの考え方

    ⌘S で保存