반응형
요청에 대해 간단히 알아보았다.

express의 요청 처리 구조
1. HTTP 요청이 들어온다.
2. 각 미들웨어를 순서대로 실행시킨다.
3. 라우터에서 HTTP 요청을 분석하여 적절한 처리를 한다.
라우터
유저가 원하는 정보(req)에 따라 알맞은 처리(콜백)를 안내를 해주는 안내자이다.
라우트가 잘 동작하기위해선 요청을 적절하게 분석해야 한다.
요청의 2가지 종류
POST 요청 본문 (req.body) | HTTP form에서 "POST"메소드로 전송된 값 |
url 쿼리 (req.query) | url에 동봉된 쿼리 ex) www.google.com/search?q=검색키워드 |
HTTP요청 가공하기
HTTP요청은 버퍼타입의 데이터로 들어오기 때문에
날 것의 값으로는 사용할수 없다
아래 두가지 메소드를 사용하여 요청을 가공 할 수 있다.
const express = require("express");
const app = express();
app.use(express.urlencoded({ //인코딩된 url을 parse해주고
extended:false
}));
app.use(express.json());
//Buffer String의 요청 값을 JSON 타입으로 변환 해준다
가공된 HTTP요청 값 확인
const express = require("express");
const app = express();
app.use(express.urlencoded({
extended:false
}));
app.use(express.json());
//라우터
app.post("/",(req,res)=>{
console.log(`POST 요청:`);
console.log(req.body);
console.log(`url 쿼리:`);
console.log(req.query);
})
app.listen(3000);

curl로 POST 요청과 url query를 동시에 해봤다.

req.body.firstname 과 req.query.a 같은 방식으로
요청 데이터에 접근할수있다.
p.s express generator에 코드 구현돼있으므로 역할만 알고 넘어가면 된다.