1. 監視が緑になる
  2. 何度呼んでも同じ応答が返る
コース一覧
Express道場 fleama開発室のIssue10件
#101 監視用ヘルスチェックが欲しい

Express道場 fleama開発室のIssue10件

Node.js入門で作り上げた fleama API の開発室に、スプリントの助っ人として参加する演習専用コースです。解説はありません。1問が1件の Issue で、報告者は商店街の住人たち。依頼と完成条件だけを読み、白紙から自分で組み立てます。手が止まったときのために、方針・使う構文・部分解の3段階のヒントを各問に用意しています。ヘルスチェックから始まり、一覧API、404の扱い、並び替えとページング、入力検証、自作ミドルウェア、エラー形式の統一、所有者チェック、二重販売を止めるトランザクションを経て、最後はいいね機能をエンドポイント設計から任されるところまで、10件の Issue で Express の主要な道具を一巡します。1問15分から45分、全10問で約5時間です。Node.js入門を終えて「作れたけれど実務で通用するか不安」と感じている方に向いています。

1
今週のスプリント
01. #101 監視用ヘルスチェックが欲しい15分
02. #102 カテゴリ一覧APIが欲しい20分
03. #103 消えた商品を開くと落ちる20分
04. #104 検索に並び替えとページングを25分
05. #105 0円出品が通ってしまう25分
06. #106 調査用のアクセスログを25分
07. #107 エラーの形式がバラバラ30分
08. #108 他人の出品を値下げできてしまう30分
09. #109 同じ商品が2人に売れた35分
10. #110 新機能「いいね」を設計から45分

#101 監視用ヘルスチェックが欲しい

初段 / 目安 15分

Node.js入門で fleama API を作り上げたあなたに、凛さんから招集がかかりました。

「今週のスプリント、バックエンドの手が足りません。Issue を10件、あなたにアサインします。報告者は商店街の皆さん——fleama のユーザーです。1件ずつ、テストを緑にしてクローズしてください」

最初の1件は、社内からの依頼です。


Issue #101 監視用ヘルスチェックが欲しい

報告者: 琥珀(夜勤エンジニア)

「夜間監視のスクリプトから fleama の生存確認をしたい。GET /health で {"status":"ok"} を返してくれれば、あとはこっちでやる」


ヘルスチェックは、中身のある処理を何もしないパスです。それでも実務のサーバーにはたいてい用意されています。

「サーバーが立っているか」と「データが正しく返るか」を切り分けられるからです。監視の役に立つのは中身が無いことのほうで、DB を読みに行かない分、余計な理由で赤くなりません。

返すのは JSON です。res.json を使えば、JSON の文字列に変えることと「これは JSON です」という印を添えることを、まとめてやってくれます。

ステータスコードは明示しなくても 200 になります。書いても構いませんが、成功が既定なので省くのが普通です。

完成条件

createApp の中に GET /health を作り、{"status":"ok"} を 200 で返してください。

下のほうにある callApp と request は採点用の仕組みです。触らないでください。

要件

  1. GET /health に対して {"status":"ok"} を返す
  2. 返すときは res.json(...) を使う
  3. 作った app を return する

入出力例

request("GET", "/health") → "200 {"status":"ok"}" request("GET", "/health") → "200 {"status":"ok"}"

ヒント

前のヒントを開くと次が開きます。開かずに解けると未開封クリアです

`app.get(パス, (req, res) => { ... })` の形でパスと処理を結びつけます

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

関連レッスン

  • #102 カテゴリ一覧APIが欲しい

    手打ちしていたカテゴリを選択式にするため、一覧を配列で返します。

  • #103 消えた商品を開くと落ちる

    存在しない商品を開いたときに落ちないよう、404を返す形に直します。

  • #104 検索に並び替えとページングを

    安い順に少しずつ見られるよう、並び替えと件数の指定を受け取ります。

  • #105 0円出品が通ってしまう

    タイトル必須と価格の下限を確かめ、不正な出品を400で止めます。

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

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

  • Node.jsJavaScript をサーバ側で動かすランタイム
  • エンドポイント「この URL を叩くとこの機能が動く」入口の住所
  • APIアプリ間でデータをやり取りする窓口
  • バックエンドサーバ側のロジックとデータ処理
  • テストバグを見つける工程
  • ヘルスチェックURLでの稼働確認エンドポイント
  • 処理計算や代入を表す長方形
  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
main.js
学習モード
エディタを読み込んでいます

メモ

#101 監視用ヘルスチェックが欲しい

⌘S で保存