0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CRUDのバックエンド開発のモヤモヤを整理する自由帳

0
Posted at

⚠️注意

この記事は雑な自由帳です

流れ

2026-01-08 0.18の画像.jpeg

2026-01-08 0.37の画像.jpeg

2026-01-08 1.08の画像.jpeg

2026-01-08 1.09の画像.jpeg

2026-01-04 23.59の画像.jpeg

全体像の把握

Express

『HTTPリクエストを受け取り、どの処理を実行し、どのレスポンスを返すかを整理するNode.jsのフレームワーク』

Expressがやっていること

・サーバーを立てる( app.listen )
・JSONを読めるようにする( app.use(express.json()) )
・URLと関数を結びつける( app.post() )

Expressがやっていないこと

・シフトの中身を作る
・保存する
・成功、失敗を判断する

server.jsの役割

アプリの土台、設計担当
・Expressアプリを作る
・ミドルウェアを登録する
・ルーティングを紐づける
・listenする

shift.controller.js

リクエストとレスポンスの担当
・reqを受け取る
・seviceを呼ぶ
・成功か失敗かを判断する
・reqでレスポンスを返す

shift.service.js

処理、ロジック担当
・DBに保存する
・計算する
・判定する
・resは触らない

shift.repository.js

shiftテーブルに対するDB操作の窓口
・SQLを書く

express.json

JSON形式のリクエストを、JavaScriptで使える形に変換する仕組み
→ 呼び出すとミドルウェア関数が返ってくる

⚠️ 『express.json()』はその場でJSONを読む関数ではない

リクエストの流れ

①リクエストが来る

②JSONを読む係が処理

③『req.body』が完成

④ルート処理が動く

app.use

ミドルウェア関数を渡す
リクエストが来たら必ず通る処理を登録する場所

.useの流れ

リクエスト

use①(チェックポイント)

use②(チェックポイント)

.get / .post

レスポンス

⚠️useは「実行」はしない
→ 「後で使うから覚えておいて!」とExpressに登録する
→ reqが来たら実行される

// JSONを読むミドルウェアの作成
app.use(express.json());

ミドルウェア

Expressにおけるミドルウェアとは、リクエスト(req)、レスポンス(res)を中心とした関数を指す

ブラウザでの操作をしてhttpリクエストを送信時、Expressがブラウザから来たhttpリクエストを受け、何らかの処理を実行してレスポンスを返す

つまりミドルウェアは、要求と応答との間で何らかの処理を実行する仕組みを担っている

DB

全件取得の流れ
①取得処理は「DBに問い合わせて配列で返す」
②エラー処理の型を決める
・エラーメッセージ+500
・200+JSON
③非同期で書く

応用
①条件検索(Where)

条件検索
「作成結果」を成功レスポンスに反映

createPool()とcreateConnection()

query()とexecute()

query()

引数

pool.query(sql, values);

execute()

引数

pool.execute(sql, values);

戻り値
Promise版は配列

const [rows, fields] = await pool.execute(sql, values);

rows
SQLの戻り値をJavaScriptの配列にしたもの

引数

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?