
데이터를 보내는 방법들인건데, 지금까지는 GET를 사용해서 URL로 데이터를 보냈어.
근데 만약에 회원가입을 하기 위해 id,password, name ,email등을 적어서 이 정보들을 사이트에 보낼건데, 어떻게 보낼거야??
get처럼 url로 보내면 내 id,password, name ,email가 전부 노출된단 말이지. 이것들은 내 개인정보인데,
url에 저 정보들이 보이면 안되잖아!!
당연히 이런 중요한 정보들은 숨겨서 보내야하잖아? 그래서 이 정보들을 어떻게 숨겨서 보내는데??
바로 body를 통해서 보낼꺼야!html에 head랑 body있는거 알지? 그 body에 보낼거야.
그럼 웹브라우저는 저 중요 정보들이 숨겨져서 들어와야한다는 것을 미리 알고 있겠지?
정확히는 나의 API가 POST로 요청을 한다는 건 Body라는 공간에 데이터가 숨겨져서 들어온다는 것을 이미 알고 있는거야.
그럼 POST입장에서는 너 데이터를 Body에 숨겨져 보낼거잖아. 라고 그 값을 받을 준비를 하고 있어.
자, 이제 POST가 body에 데이터를 숨겨서 보낸다는 걸 알았지? 그럼 이걸 실제로 테스트해보자!
간단한거야. API 테스트 도구야.
브라우저로는 GET만 쉽게 테스트할 수 있잖아?
POST는 body에 데이터 넣어서 보내야 하는데 브라우저로는 귀찮으니까 Postman 쓰는 거야.
자 그럼 브라우저에 postman 쳐서 다운 받으면 되고, 워크스페이스를 하나 만들어서 이제 사용하면 돼!
요런 느낌이야



바로 위에 있는 것처럼 해줄려면
아래 있는 코드처럼 작성해줘야 저렇게 보이게 할 수 있어
const express = require("express");
const app = express();
const port = 3000;
app.get("/", function (req, res) {
res.send("hello world");
});
app.use(express.json());
app.post("/test", function (req, res) {
// BODY에 숨겨져서 들어온 데이터를 화면에 뿌려줘볼까?
console.log(req.body.message);
res.send(req.body.message);
res.json(req.body);
});
app.listen(port, function () {
console.log(`Example app listening on port ${port}`);
});

//express 모듈 셋팅
const express = require("express");
const app = express();
//서버 셋팅 : 포트 넘버(번호) 3000으로 셋팅
app.listen(3000);
let youtuber1 = {
channelTitle: "십오야",
sub: "713만명",
videoNum: "1000개",
};
let youtuber2 = {
channelTitle: "침착맨",
sub: "300만명",
videoNum: "8000개",
};
let db = new Map();
db.set(1, youtuber1);
db.set(2, youtuber2);
// GET + "/" 및 REST API 설계 -> 파라미터는 문자열로 들어오기 때문에, 숫자열로 바꿔줘야해 id를
app.get("/youtuber/:id", function (req, res) {
let { id } = req.params;
id = parseInt(id);
const youtuber = db.get(id);
if (youtuber == undefined) {
res.json({
message: "유튜버 정보를 찾을 수 없어",
});
} else {
res.json(youtuber);
}
});
app.use(express.json()); //http 외 모듈인 '미들웨어':json 설정
app.post("/youtuber/", function (req, res) {
// BODY에 숨겨져서 들어온 데이터를 화면에 뿌려줘볼까?
console.log(req.body);
//이제 등록을 해줘야 하는데 Map(db)에 저장(put) 해주셔야 함.
db.set(4, req.body);
res.json({
message: `${db.get(4).channelTitle} 님 유튜버 생활을 응원합니다!`,
});
});
코드 길다고 안읽지말고 다 읽어. 그래야 실력이 는다