req.app : req 객체를 통해 Express.js의 app 객체에 접근할 수 있음.
req.body: Request를 호출할 때 body로 전달된 정보가 담긴 객체입니다.
(express.json() Middleware를 이용하여야 해당 객체를 사용할 수 있습니다.)
req.params: 라우터 매개 변수(Path Params)에 대한 정보가 담긴 객체입니다.
req.query: Request를 호출할 때 쿼리 스트링으로 전달된 정보가 담긴 객체입니다.
res.app : res 객체를 통해 Express.js의 app 객체에 접근할 수 있습니다.
res.status(코드) : Response에 HTTP 상태 코드를 지정합니다.
res.send(데이터) : 데이터를 포함하여 Response를 전달합니다.
ex) res.send('Hello, World');
res.json(JSON) : JSON 형식으로 Response를 전달합니다.
ex) res.json({ message: 'Hello, World' });
res.cookie(Key, Value, Option) : 쿠키를 설정할 때 사용합니다.
res.clearCookie(Key, Value, Option) : 쿠키를 제거할 때 사용합니다.
app.post('/', (req, res) => {
// Request에서 body 데이터를 ReqBody 변수에 할당한다.
const ReqBody = req.body;
return res.status(201).json({});
});
클라이언트가 요청(Request)을 보냈을 때, Body에 데이터를 삽입하였을 때 사용된다.
req.body를 사용하기 위해서는 express.json() 미들웨어를 사용해야 됨.
Key-Value의 데이터 형식을 가지고 있으며, 대표적으로 JSON 형태를 띄고 있다.
Body는 Query String, Path Variable(params)과 다르게, URL만을 가지고 어떤 데이터를 전달하였는지 확인할 수 없는 특징을 가지고 있다.
데이터를 생성하거나 수정이 필요한 데이터의 전달을 위해 사용됩니다.
ex) 사용자의 ID, 사용자의 Password, 게시글 제목 등
POST, PUT과 같은 Http method에서 사용됩니다.
app.get('/', (req, res) => {
// Request에서 Query String 데이터를 ReqQuery 변수에 할당한다.
const ReqQuery = req.query;
return res.status(200).json({});
});
클라이언트가 요청(Request)을 보냈을 때, URL에 원하는 Key-Value를 삽입하여 데이터를 전달합니다.
URL의 마지막에 ?기호를 이용해 Query String을 사용할 수 있습니다.
ex) https://sparta.com?name=이용우&age=29
특정 콘텐츠의 위치를 표시하거나 웹 페이지에 특정한 옵션을 설정할 때 사용합니다.
ex) 게시글의 정렬, 특정 날짜의 게시글만 출력하는 옵션 설정 등
주로 서버의 리소스를 필터링하거나 정렬하는 데 사용됩니다.
ex) https://sparta.com/posts?sort=desc&page=3&limit=20
limit=20
: 1 페이지당 20개의 게시글을 조회한다.
page=3
: 3 페이지를 조회한다.
sort=desc
: 게시글을 내림차순으로 정렬한다.
GET과 같은 Http method에서 사용됩니다.
app.get('/:name', (req, res) => {
// Request에서 Path Params 데이터의 name Key를 가진 Value를 name 변수에 할당한다.
const { name } = req.params;
return res.status(200).json({});
});
클라이언트가 요청(Request)을 보냈을 때, URL에 원하는 데이터를 삽입하여 전달합니다.
URL 특정 경로를 매개 변수로써 사용합니다.
특정 게시글을 선택하거나 명확한 리소스를 지정해야할 때 사용합니다.
ex) 게시글의 상세 정보 조회, 사용자의 상세 정보 조회
app.post('/', (req, res) => {
return res.status(201).json({key: 'Value'});
});
서버가 클라이언트에게 res(응답)을 보냈을 때, 상태 코드를 전달할 때 사용됨!
Http 상태 코드는 HTTP 요청이 어떠한 상태로 처리 되었고, 완료되었는지를 나타낸다.
ex) 200은 요청이 성공적, 404는 요청한 리소스가 서버에 존재하지 않음
Express에서 상태 코드를 명시하지 않으면, 상태 코드는 200으로 자동 전달됩니다
app.post('/', (req, res) => {
return res.status(201).json({key: 'Value'});
});
서버가 클라이언트에게 응답(Response)을 보냈을 때, 데이터를 전달할 때 사용됨
res.json() 메서드는 JSON 형식의 데이터만 보낼 수 있다.
res.send() 메서드는 다양한 유형의 데이터를 보낼 수 있다.