내일배움캠프 Today I Learned
@ 하루 정리
Node.js와 express.js 는 지난 주부터 제공받은 영상을 보고 학습을 했는데,
공부하는 내용, 특히 라우터 부분이 이해가 잘 안 가서 곤란에 처해 있었다.
무작정 진도를 빼야하는데, 이해는 안 가서 이건 안 되겠다 싶어서 오늘 생활코딩 강의를 찾아냈다.
오늘은 지난주부터 공부한 내용을 다시 좀 정리하는 중이다.
소스코드가 어떻게 작동하는지 기초부터 짚으면서 공부하는데 도움이 많이 되는듯.
@ 학습한 내용
헷갈렸던 내용 :
서버를 실행시키기 위해 express.js를 작성하다보면
콜백함수로 (req, res) => 표시되어 있는 것이 있다.
이것을 매우 자주 작성하는데,
그런데 나는 이 내용이 무엇인지, 대체 왜 사용하는지... 강의를 계속 보면서도 뭔 내용인지 헷갈려서 답답했다.
가령, 예시를 본다.
// 회원가입 처리
const User = require("./models/user.js");
router.post("/users", async (req, res) => {
const {nickname, email, password, confirmPassword} = req.body;
if (password !== confirmPassword) {
res.status(400).json({
errorMessage: "passoword와 confirmPassoword가 일치하지 않습니다."
});
return;
}
const existUser = await User.findOne({
$or: [{email: email}, {nickname:nickname}]
});
//하나라도 일치하는 것이 있으면 existUser에 값이 할당
//existUser 값이 존재한다면...
if(existUser){
res.status(400).json({
errorMessage: "Email이나 Nickname이 이미 사용 중입니다."
});
return;
}
const user = new User({nickname, email, password});
await user.save();
//데이터 생성됐다는 의미로 status(201)로
res.status(201).json({});
});
Request(req), Response(res)란?
클라이언트에서 서버로 어떤 요청을 하고, 서버는 이에 대해 어떤 응답을 하는데
express에서는 이러한 (req, res) 표기는 클라이언트와 서버간의 요청/응답의 내용에 대해서 작성한 것이다.
Request: 클라이언트가 서버에게 전달하려는 정보나 메시지를 담는 객체를 의미한다.
Response : 클라이언트로부터 서버가 전달 받은 데이터를 응답하는 메시지를 전송시켜 주는 객체
즉, req는 클라이언트의 어떤 요청에 대해 서버가 다룰지,
res는 그 요청에 대해 서버가 어떤 응답을 클라이언트로 처리해줄지 안내한다.
'개발 학습일지(TIL)' 카테고리의 다른 글
TIL : Git 명령어, github에 잘못 올린 폴더 삭제 (0) | 2022.12.29 |
---|---|
TIL : Cannot read properties of undefined (reading 'findAll') Sequlize 사용 중 (0) | 2022.12.26 |
내배캠 23일차 TIL : 미니프로젝트 진행 상황, 어려움 (0) | 2022.12.06 |
내배캠 19일차 TIL : 미니프로젝트 회의 (0) | 2022.12.06 |
내배캠 18일차 TIL : 배열의 길이 구하는 문제, 파이썬 len() 매써드 (0) | 2022.12.01 |
댓글