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

    登録を受ける

    送られてきたものを受け取る

    設計図の 3 行目です。

    プレーンテキスト

    POST /items  商品を登録する

    ここまでは返すだけでした。登録では逆に、相手から送られてきたデータを受け取ります。出品フォームに入力された商品名や価格が、リクエストの本文に入って届きます。

    受け取る準備が要る

    本文は、そのままでは読めません。1 行の準備が必要です。

    JavaScript

    const app = express();
    app.use(express.json());

    これは「JSON で届いた本文を、オブジェクトに直しておいてください」という指示です。これを書き忘れると req.body が undefined になります。

    登録がうまくいかないときに最初に疑うところなので、覚えておいてください。

    req.body から読む

    準備ができたら、本文はこう読めます。

    JavaScript

    app.post("/items", (req, res) => {
      const newItem = {
        id: nextId,
        name: req.body.name,
        price: req.body.price,
        sold: false,
      };
      items.push(newItem);
      res.status(201).json(newItem);
    });

    読むのが req、書くのが res という役割は、第3章から変わりません。

    作ったときは201

    成功なら 200 でよさそうですが、登録のときは 201 を返します。「新しく作った」を表す専用の番号です。

    受け取る側は、この番号だけで「一覧が更新された」と判断できます。数字で結果が伝わるのが、ステータスコードの利点です。

    id はサーバーが決める

    新しい商品の id を、送られてきた本文から取ってはいけません。

    JavaScript

    const newItem = { id: req.body.id, ... }; // 危ない

    他人の商品と同じ id を指定されたら、データが壊れます。id はサーバーが決めるものです。この演習では、いまある最大の id に 1 を足す形にします。

    手を動かす

    演習では、出品の API を作ります。受け取る準備、id の採番、201 の 3 つを揃えてください。

    要件

    1. express.json() を使って本文を読めるようにする
    2. POST /items は {id, name, price, sold} の形で作った商品を 201 で返す
    3. id は「いまある最大の id + 1」にし、sold は false にする

    ヒント

    まず `app.use(express.json());` を足します。これが無いと `req.body` が読めません

    最大の id は `items.reduce(...)` で求められます。空のときに 0 から始めれば、最初の id が 1 になります

    返すときは `res.status(201).json(newItem)` の形でコードを指定します

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

    関連レッスン

    • 更新と削除

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

    • ステータスコード

      各APIの返却コードを整え、状況に応じた番号を返せるようになります。

    • つくる:商品CRUD完成

      一通りのCRUDを通しで動かし、商品まわりのAPIを完成できるようになります。

    • 第4章クイズ

      RESTとステータスコードの理解を4択で確認します。

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

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

    • 設計何をどう作るかを決める前工程
    • フォームinput(text, email, password, checkbox, radio)、select、textarea、button。
    • リクエストWeb 通信の基本単位、ブラウザの問い合わせとサーバーの返答
    • applicationJSON 本文を送るときの Content-Type
    • オブジェクトキーと値のペアで構造を作るデータ
    • 判断YES/NO 分岐を表す菱形
    • ステータスコード200/201/404 など結果を示す3桁の数値
    • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
    main.js
    エディタを読み込んでいます

    メモ

    登録を受ける

    ⌘S で保存