| name | express-api-design |
| description | Express.js REST API design and implementation guide. Use when implementing REST API endpoints, creating Express routes, or setting up API project structure with MVC pattern. |
Express API Design
ํ๋ก์ ํธ ๊ตฌ์กฐ
src/
app.js - Express ์ฑ ์ค์ , ๋ฏธ๋ค์จ์ด ๋ฑ๋ก, ๋ผ์ฐํธ ๋ง์ดํธ
routes/
{resource}Routes.js - ๋ผ์ฐํธ ์ ์ (HTTP ๋ฉ์๋ + ๊ฒฝ๋ก)
controllers/
{resource}Controller.js - ๋น์ฆ๋์ค ๋ก์ง
models/
{resource}Store.js - ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ฐ CRUD ์ฐ์ฐ
middleware/
validate.js - ์
๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ ๋ฏธ๋ค์จ์ด
errorHandler.js - ๊ธ๋ก๋ฒ ์๋ฌ ํธ๋ค๋ง
REST ๊ท์น
- GET /resources - ๋ชฉ๋ก ์กฐํ -> 200
- GET /resources/:id - ๋จ๊ฑด ์กฐํ -> 200 / 404
- POST /resources - ์์ฑ -> 201 / 400
- PUT /resources/:id - ์์ -> 200 / 400 / 404
- DELETE /resources/:id - ์ญ์ -> 200 / 404
ํต์ฌ ์์น
- ๋ชจ๋ ๋ผ์ฐํธ๋ controllers๋ฅผ ํตํด ์ฒ๋ฆฌ
- ์๋ฌ๋ ๊ธ๋ก๋ฒ ์๋ฌ ํธ๋ค๋ฌ๋ก ์ ํ (์ปจํธ๋กค๋ฌ์์ throw)
- ์
๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ๋ ๋ฏธ๋ค์จ์ด์์ ์ฒ๋ฆฌํ์ฌ ์ฌ์ฌ์ฉ
- ์ผ๊ด๋ ์๋ฌ ์๋ต ํ์:
{ error: "๋ฉ์์ง" }
- JSON ํ์ฑ ์๋ฌ ๋ณ๋ ์ฒ๋ฆฌ
- ๋ฐ์ดํฐ ๋ชจ๋ธ์ ํด๋์ค ๊ธฐ๋ฐ ์ฑ๊ธํด ์คํ ์ด๋ก ๊ตฌํ
- ๋ฐํ ์ ์คํ๋ ๋ ๋ณต์ฌ๋ณธ ์ฌ์ฉํ์ฌ ๋ถ๋ณ์ฑ ๋ณด์ฅ
- ์๋ ID ์์ฑ (auto-increment) ๋ฐ createdAt ์๋ ์ค์
์์ธ ์ฝ๋ ํจํด์ references/patterns.md ์ฐธ์กฐ.