티스토리 뷰
💥 API 설계
- 회원가입 : POST /join
req : body (id, pwd, name)
res : `${name}님 회원이 되신 걸 축하드립니다!`
- 회원 개별 조회 : GET /users:id
req : URL (id)
res : id, name
- 회원 개별 탈퇴 : DELETE /users:id
req : URL (id)
res : `${name}님 다음에 또 뵙겠습니다.`
// express 모듈 세팅
const express = require('express')
const app = express()
app.listen(7777)
app.use(express.json())
let db = new Map()
var id = 1 // 하나의 객체를 유니크하게 구별하기 위함
// 로그인
app.post('/login', (req, res) => {
})
// 회원가입
app.post('/join', (req, res) => {
const { userId, password, name } = req.body;
if(userId == undefined) {
res.status(400).json({ // 요청한 연산(처리)을 할 때 필요한 데이터(req)가 덜 왔을 때 : 400
message : "아이디는 필수 입력 항목입니다."
})
} else if (password == undefined){
res.status(400).json({
message : "비밀번호는 필수 입력 항목입니다."
})
} else if (name == undefined){
res.status(400).json({
message : "이름은 필수 입력 항목입니다."
})
} else {
db.set(id++, req.body)
res.status(201).json({ // 등록성공 status 코드 : 201
message : `${db.get(id-1).name}님 환영합니다!`
})
}
})
// 회원 개별 조회
app.get('/users/:id', (req, res) => {
let {id} = req.params
id = parseInt(id)
const user = db.get(id)
if (user == undefined){
res.status(404).json({ // 찾는 페이지(리소스) 없음 : 404
message : "해당하는 회원 정보가 없습니다."
})
} else {
res.status(200).json({ // 조회/수정/삭제 성공 : 200
userId : user.userId,
name : user.name
})
}
})
// 회원 개별 탈퇴
app.delete('/users/:id', (req, res) => {
let {id} = req.params
id = parseInt(id)
const user = db.get(id)
if (user == undefined){
res.status(404).json({
message : "해당하는 회원 정보가 없습니다."
})
} else {
db.delete(id)
res.status(200).json({
message : `${user.name}님 다음에 또 뵙겠습니다.`
})
}
})
강의에서 나온 코드와는 살짝 다르게 했다!
이유는 가장 마지막에....!!
💥 결과
- 회원가입
- 회원가입(userId or password or name)을 기입하지 않았을 경우
* 아이디 미기입
* 비밀번호 미기입
* 이름 미기입
- 회원 개별 조회
- 없는 회원 조회
- 회원 개별 삭제
- 없는 회원 삭제
사실 강의를 따라하다보니 회원가입의 if문에서 req.body == { } 이 부분이 의아했던 부분이 있었다.
어떻게해도 fales문을 반환했기 때문이다..
kim jooya님 환영합니다 까진 괜찮았는데 아무 데이터도 넣지 않았을 때도 undefined님 환영합니다
라고 떴었다.. 그래서 GPT 에게 물어봤는데... 음.. 어떻게해도 false로 평가된다는 말이었다. 뭔가 잘못된 부분이 있었던 것 같아,
코드를 살짝 바꾸어서 해보았다.
나름 새로운 방법도 해보고 좋았다.
이 부분에 대해선 다른 학생분들과도 얘기를 해보며 풀어나갈 계획이다.
'웹 개발 공부하기' 카테고리의 다른 글
[11.26] 채널 API 설계 후 구현까지의 여정 😲💥 (1) | 2024.11.26 |
---|---|
[11.26]회원가입 구현해보기2 + 로그인✨ (0) | 2024.11.26 |
[11.24] forEach() ? Map() ? 그게 뭔데🤨 (0) | 2024.11.24 |
[11.23] 이제야 쓰는 POSTMAN 🧐 (0) | 2024.11.23 |
[11.20] 자바스크립트 함수 4가지❗ + 오늘의 포스팅 (1) | 2024.11.20 |