tanaka101

はじめに

コースの目的とREST APIの基本概念を学びます。

このコースで作るもの

+ Express を使って、勤怠管理API を作ります。

従業員の出勤・退勤を管理するシステムのバックエンド部分です。ブラウザやアプリから送られてくるを受け取り、データを処理して返す を実装します。

機能説明
勤務記録の一覧取得全員の勤務記録を一覧で返す
特定の記録を取得IDを指定して1件の記録を返す
出勤打刻出勤時刻を記録する
退勤打刻退勤時刻を記録する
記録の修正打刻ミスを修正する
記録の削除不要な記録を削除する

前提条件

このコースを始める前に、以下を完了してください。

前提内容
Web APIのためのHTTP入門・ステータスコード・リクエスト/の基本を学ぶ
Node.jsJavaScriptを実行するためのソフトウェアNode.jsについて学ぼう
TypeScript入門TypeScriptの基本文法(型、、インターフェース)

とは

アプリはという仕組みでデータのやり取りを行います。Web APIにはいくつかの設計スタイルがあり、その中で最も広く使われているのがRESTです。RESTの原則に従って設計されたAPIをと呼びます。

REST APIの特徴

REST APIでは、 で「何をしたいか」を表現します。

意味
GETデータを取得する勤務記録の一覧を取得
POSTデータを作成する新しい出勤記録を作成
PUTデータを更新する打刻時刻を修正する
DELETEデータを削除する記録を削除する

自体はどのWeb APIでも使いますが、設計スタイルによってはすべての操作をPOSTで送るケースもあります(例: GraphQL APIでは、データの取得も作成もすべてPOSTで送り、の中身で操作を指定します)。

操作の種類に応じてを使い分け、「何をしたいか」をURLとで明示できるのがREST APIの特徴です。実際にはヘッダーやリクエストボディも含めて全体で意味を表現しますが、URLとだけでも操作の意図が読み取れるように設計するのがRESTの考え方です。

APIの「住所」にあたるものを と呼びます。

このコースで作るは以下の通りです。

パス機能
GET/records勤務記録の一覧取得
GET/records/:id特定の勤務記録を取得
POST/records/clock-in出勤打刻
POST/records/clock-out退勤打刻
PUT/records/:id打刻の修正
DELETE/records/:id記録の削除

GET/recordsを見ただけで、『記録を取得するんだな』と一目で分かりますよね。

これがREST APIの特徴です。

技術スタック

このコースで使う技術です。

技術役割
プログラミング言語(型安全なJavaScript)
JavaScriptをサーバーで動かすための
Express.js用の(APIを簡単に作れる)
Vitestテストフレームワーク

Express はNode.jsで広く使われているの一つです。
学習コストが低く、初心者にもとっつきやすいため、このコースでは Expressで解説します。

情報量が多いため、困ったときに自力で調べやすいのも大きなメリットです。

データベースについて

このコースでは データベースは使いません

データはTypeScriptの配列(インメモリ)で管理します。サーバーを再起動するとデータはリセットされますが、API開発の学習に集中するためにこの方式を採用しています。

次のステップ

REST APIの概念を理解できたところで、次のレッスンでは開発環境を構築していきます。