Node/수업내용
Node 수업내용 21.06.10 Node.js - 회원관리
HappyFrog
2021. 6. 10. 14:01

사용할 폴더를 하나 만든다.
그리고 cmd창에서 cd를 이용하여 해당폴더로 경로를 이동시킨 뒤 해당 익스프레스를 이용하자.
오늘 할 일
회원등록
닉네임, 이메일, 패스워드
서벌 할 일
id생성
객체로 만들어서 배열에 추가
응답시 status 200
오류시 500


서순이 중요하다 왼쪽 처럼하면 users의 라우터가 정상적으로 작동을 하여도 내용을 불러올 수가 없다.
왼쪽처럼 했다가 ID값을 불러올 수 없다는 에러가 계속 났다.
따라서 오른쪽 사진처럼 서순을 바꿔주어야 users를 제대로 불러올 수 있다.

const express = require("express");
const router = express.Router();
const { v4: uuidv4 } = require("uuid");
let users = [];
router.get("/all", (req, res, next) => {
res.end("모든 회원 검색");
});
router.get("/:id", (req, res, next) => {
const id = req.params.id;
let user = users.find((x) => x.id === id);
let result = {
status: 200,
user,
};
if (user === undefined) {
result.status = 500;
}
res.send(result);
});
router.post("/", (req, res, next) => {
let user = req.body;
const uuid = uuidv4();
user.id = uuid;
users.push(user);
let result = {
status: 200,
user,
};
user.status = result.status;
res.send(result);
});
router.post("/auth", (req, res, next) => {
const id = req.body.id;
let result = {
status: 200,
id,
};
let user = users.find((x) => x.id === id);
if (user === undefined) {
result.status = 500;
}
res.send(result);
});
router.delete("/", (req, res) => {
let id = req.body.id;
let user = users.find((x) => x.id === id);
console.log("userID : " + user.id + ", status : " + user.status);
delete user.id;
let result = JSON.stringify(user);
res.send(result);
});
router.patch("/", (req, res) => {
let id = req.body.id;
let changingId = req.body.changingId;
console.log(changingId.stringify);
let user = users.find((x) => x.id === id);
user["id"] = changingId;
console.log(JSON.stringify(user));
res.end(JSON.stringify(user));
});
module.exports = router;
* 핵심은 배열.find를 사용하여 해당 유저를 찾아내는 점과 req의 body에서 원하는 속성을 불러오는데에 있다.

patch부분에서 id값을 바꿔보고 body의 내용으로 id의 내용이 바뀔까 싶어서 시도해보았지만 해당 속성의 이름까지 바뀌어버린 모습이다.
ㄴ user['id']같이 속성의 'Key'를 정의해주고 그의 값으로 받아온 body의 내용을 할당해주면 잘 바뀐다.
