요청에 따라 처리를 해주는 것
서버는 요청에 따라 분기 처리해서 응답을 해준다.
폴더명/app.js
app.use('/', indexRouter);
app.use('/users', usersRouter);
'/' 로 요청을 보내면 indexRouter로 해당 요청을 보내준다.
'/users' url로 요청을 보내면 usersRouter로 요청을 해준다.
routes/index.js
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
라우터의 get 메서드가 해당 라우터를 처리하고
콜백함수로 req, res를 통해서 요청에 대한 응답을 해준다.
/* GET home page. */
router.get('/', function(req, res, next) {
res.json({
massage: 'hello!!!',
name: 'park'
});
});
http method : 서버에 요청을 보내는 방법을 의미한다.
method | 역할 |
---|---|
GET | 요청받은 정보를 검색(read)하여 응답 |
POST | 요청된 자원을 생성(create) |
PUT | 요청된 자원을 수정(update) |
DELETE | 요청된 자원을 삭제(delete) |
var express = require("express")
var router = express.Router()
router.get('/', (req, res) => {
res.json({
massage: 'hello!!!',
name: 'park'
})
});
module.exports = router;
데이터를 생성한다.
var express = require("express")
var router = express.Router()
// post로 리퀘스트 보내기
// 요청에 대한 데이터를 받고 싶으면 req 객체 사용
// 응답은 res
router.post("/main", (req, res) => {
console.log(req.body);
})
module.exports = router;
콘솔창에 받아온 데이터가 잘 찍힌다.
var express = require('express');
var router = express.Router();
let arr = [];
router.post('/create', (req, res) => {
console.log(req.body);
const data = req.body.data;
arr.push(data);
res.status(200).json({
message: "create success",
result: arr
})
})
module.exports = router;
빈 배열에 request body 받아온 요청을 빈 배열에 데이터를 추가해주었다.
응답이 잘 되었다면 데이터가 잘 추가되었는지 확인하였다.
const data = req.body.data;
의 경우
.data인 키 값과 명시해줄 변수명 data가 같으므로
비구조화 할당을 통해서
const { data } = req.body;
로 적어줄 수 있다.
배열의 몇번째 값을 수정해줄 건지 파라미터로 받아야한다.
0번째 값이면 http://localhost:3000/update/0
이런식으로!
id 값이 어떤식으로 받아지는지 확인하기 위해 콘솔창에 찍어주고
update/0 으로 요청을 해주면 콘솔창에 0이 찍힌다.
var express = require('express');
var router = express.Router();
let arr = [];
router.put('/update/:id', (req, res) => {
const id = req.params.id;
console.log(id)
})
var express = require('express');
var router = express.Router();
let arr = [];
router.put('/update/:id', (req, res) => {
const { id } = req.params;
const { data } = req.body;
arr[id] = data;
res.status(200).json({
message: "update success",
result: arr,
});
});
module.exports = router;
post로 값을 추가해주고 put 메소드로 바꿔줘 데이터를 수정해준다.
// DELETE method
router.delete('/delete/:id', (req, res) => {
const {id} = req.params;
arr.splice(id, 1);
res.status(200).json({
message: "delete success",
resulte: arr
})
})
module.exports = router;