express
の理解を深めるためにアレコレすることを目的としたものです。
したがって、完全に個人での利用を目的としたものとなります。
もし学習の内容が気になる場合は後述する各ブランチをご参照ください。
環境 | バージョン | 備考 |
---|---|---|
Node.js | v18.19.0 | $ node --version で確認 |
npm | v10.5.1 | $ npm --version で確認 |
express | v4.19.2 | npm list --depth=0 で確認 |
morgan | v1.10.0 | 同上 |
nodemon | v2.0.22 | 同上 |
pg | v8.11.5 | 同上 |
pg-hstore | v2.3.4 | 同上 |
Sequelize | v6.37.2 | 同上 |
パッケージの確認
% npm list --depth=0
[email protected] /Users/ksh-fthr/workspace/express-work
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
基本的にそのとき確認した内容ごとにブランチを切ります。 現在は次のブランチがあります。
- feat_angular_combination
- フロントエンドを Angular, バックエンドを express として、両者の疎通確認をためすためのブランチ
- feat_sequelize_join
- PostgreSQL をターゲットとして ORM: Sequelize で テーブルの結合方法 を学習するためのブランチ
- master ブランチで提供している API もこのブランチで作成している
- feat_sequelize
- PostgreSQL をターゲットとして ORM: Sequelize の基本的な使用方法を学習するためのブランチ
- Qiita の [Sequelize] Sequelize の導入と簡単な使い方 で扱った
- master ブランチで提供している API もこのブランチで作成している
- feat_http_method
- フロントエンドを Angular, バックエンドを express として、両者の疎通確認をためすためのブランチ
- Qiita の [Angular] HTTPクライアント(RESTクライアント)を実装する で扱った
- master ブランチで提供している API もこのブランチで作成している
- feat_api_routing
- API のルーティングを index.js から切り離すための仕組みを試すブランチ
- feat_sequelize と feat_http_method で作成した API を対象とした
- Qiita の [Express] REST-API をサービス単位で管理する で扱った記事を参考に実装した
現在、 master ブランチでは以下の API を用意しております。
関連ブランチ | API | 説明 | HTTPメソッド | ストレージについて |
---|---|---|---|---|
feat_sequelize | http://localhost:3000/employee/find?id=[N] | 従業員情報をID指定して取得 | GET | Company DB を対象に処理する |
http://localhost:3000/employee/find | 従業員情報を全件取得 | GET | 同上 | |
http://localhost:3000/employee/register | 従業員情報を登録 | POST | 同上 | |
http://localhost:3000/employee/update | 従業員情報をID指定して更新 | PUT | 同上 | |
http://localhost:3000/employee/remove | 従業員情報をID指定して削除 | DELETE | 同上 | |
feat_sequelize_join | http://localhost:3000/member/findAll | プロジェクトのメンバ情報を全件取得 | GET | Company DB を対象に処理する |
feat_http_method | http://localhost:3000/message/get | メッセージを全件取得 | GET | DB は持たず、メモリ上のデータを対象に処理する |
http://localhost:3000/message/post | メッセージを登録 | POST | 同上 | |
http://localhost:3000/message/put | メッセージをID指定して更新 | PUT | 同上 | |
http://localhost:3000/message/delete | メッセージをID指定して削除 | DELETE | 同上 |
あらかじめ以下のコマンドを実行して依存関係を解決しておきます。
$ npm install
次のコマンドを実行します。
$ npm run start
Postman を使って確認しています。 動作確認の際は communication-check.postman_collection.json を Postman に import してご利用ください。
あらかじめ DB が作成されている必要があります。 ご確認の際は以下のいずれかをお試しください。