🎯 λ„μ„œ ꡬ맀 ν”„λ‘œμ νŠΈ μ…‹νŒ…(νŒ¨ν‚€μ§€ λ‹€μš΄λ‘œλ“œ, ꡬ쑰 섀계, api μˆ˜μ • λ“±)을 ν•©λ‹ˆλ‹€.


πŸ“™ Today I Learned

λ„μ„œ ꡬ맀 ν”„λ‘œμ νŠΈ μ…‹νŒ…

νŒ¨ν‚€μ§€ λ‹€μš΄λ‘œλ“œ

npm install express dotenv jsonwebtoken express-validator mysql2

ν”„λ‘œμ νŠΈ ꡬ쑰

πŸ“‚ BOOK-SHOP
β”œβ”€β”€ πŸ“‚ node_modules
β”œβ”€β”€ πŸ“‚ routes
β”‚   β”œβ”€β”€ πŸ“„ books.js
β”‚   β”œβ”€β”€ πŸ“„ carts.js
β”‚   β”œβ”€β”€ πŸ“„ likes.js
β”‚   β”œβ”€β”€ πŸ“„ orders.js
β”‚   └── πŸ“„ users.js
β”œβ”€β”€ πŸ“„ .env
β”œβ”€β”€ πŸ“„ app.js
β”œβ”€β”€ πŸ“„ package-lock.json
└── πŸ“„ package.json



νšŒμ› API 섀계

πŸ‘‰ μˆ˜μ •ν•œ 뢀뢄은 주황색 κΈ€μ”¨λ‘œ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

νšŒμ› κ°€μž…

  • Method : POST

  • URL : /users/join

  • HTTP Status Code : 201 Created

  • Request Body

  {
    "email": "μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 이메일",
    "password" : "μ‚¬μš©μžκ°€ μž…λ ₯ν•œ λΉ„λ°€λ²ˆν˜Έ"
  }
  • Response Body : x

둜그인

  • Method : POST

  • URL : /users/login

  • HTTP Status Code : 200 Ok

  • Request Body

  {
    "email": "μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 이메일",
    "password" : "μ‚¬μš©μžκ°€ μž…λ ₯ν•œ λΉ„λ°€λ²ˆν˜Έ"
  }
  • Response Cookie : JWT Token

λΉ„λ°€λ²ˆν˜Έ μ΄ˆκΈ°ν™” μš”μ²­

  • Method : POST

  • URL : /users/rest

  • HTTP Status Code : 200 Ok

  • Request Body

  {
    "email": "μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 이메일"
  }
  • Response Body : x

λΉ„λ°€λ²ˆν˜Έ μ΄ˆκΈ°ν™”

  • Method : PUT

  • URL : /users/rest

  • HTTP Status Code : 200 Ok

  • Request Body

  {
    "email": "μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 이메일"
  }
  • Response Body : x



app.js μ„€μ •

const express = require('express');
const app = express();

const dotenv = require('dotenv');
dotenv.config();

app.listen(process.env.PORT);

const userRouter = require('./routes/users');
const bookRouter = require('./routes/books');
const likeRouter = require('./routes/likes');
const orderRouter = require('./routes/orders');
const cartRouter = require('./routes/carts');

app.use('/users', userRouter);
app.use('/books', bookRouter);
app.use('/likes', likeRouter);
app.use('/orders', orderRouter);
app.use('/carts', cartRouter);



✏️ ν•œ 쀄 회고

user 파일의 url에 /userλ₯Ό λΆ™μ—¬ 톡일감을 λ‹€λ₯Έ url에도 톡일감을 쀄 수 μžˆλ‹€λŠ” 것을 μ•Œμ•˜μŠ΅λ‹ˆλ‹€. πŸ˜‹


profile
🌱개발 기둝μž₯

0개의 λŒ“κΈ€