위의 예제에서 app 객체의 get 메소드를 살펴보자.
get 메소드로 설정한 Route Handler들은 적혀있는 Path로 리퀘스트가 온다고 해서 항상 실행되는 것이 아니다.
한가지 조건이 더있는데 그것은 바로 리퀘스팅 메소드가 get이어야 한다는 것이다.
리퀘스트 종류
- GET 리퀘스트 : 서버의 리소스 조회
- POST 리퀘스트 : 리소스를 새롭게 추가
- PUT 리퀘스트 : 기존 리소스를 수정
- DELETE 리퀘스트 : 기존 리소스를 삭제
const express = require('express');
const app = express();
const members = require('./members.js');
// express.json() 미들웨어
// 서버 혹은 리퀘스트 바디에 JSON 데이터가 존재할 경우에 그것을 추출해서
// 리퀘스트 body의 body 프로퍼티 값으로 설정해준다.
app.use(express.json());
app.get('/api/members', (req, res) => {
const team = req.query.team;
if(team) {
const teamMembers = members.filter((m) => m.team === team);
res.send(teamMembers);
} else {
res.send(members);
}
});
app.get('/api/members/:id', (req, res) => {
const { id } = req.params;
const member = members.find( (m) => m.id === Number(id));
if (member) {
res.send(member);
} else {
res.status(404).send({ message : 'There is no such member' });
}
});
app.post('/api/members', (req, res) => {
console.log(req.body);
});
app.listen(3000, () => {
console.log('Server is listening...');
});
node app.js
명령을 실행하여 서버를 실행시킨다.Send Request
(마우스 우클릭)GET http://localhost:3000/api/members
###
POST http://localhost:3000/api/members
Content-Type: application/json
{
"id": 11,
"name": "Zake",
"team": "Engineering",
"position": "Android Developer",
"emailAddress": "zake@google.com",
"phoneNumber": "010-xxxx-xxxx",
"admissionDate": "2021/06/21",
"birthday": "1995/09/27",
"profileImage": "profile11.png"
}
const express = require('express');
const app = express();
const members = require('./members.js');
// express.json() 미들웨어
app.use(express.json());
app.get('/api/members', (req, res) => {
const team = req.query.team;
if(team) {
const teamMembers = members.filter((m) => m.team === team);
res.send(teamMembers);
} else {
res.send(members);
}
});
app.get('/api/members/:id', (req, res) => {
const { id } = req.params;
const member = members.find( (m) => m.id === Number(id));
if (member) {
res.send(member);
} else {
res.status(404).send({ message : 'There is no such member' });
}
});
app.post('/api/members', (req, res) => {
// 새로운 멤버
const newMember = req.body;
// members 배열에 push
members.push(newMember);
res.send(newMember);
});
app.listen(3000, () => {
console.log('Server is listening...');
});
node app.js
app.js 서버 재실행Send Request
(마우스 우클릭)