node.js | Routing, express - http method

나는경서·2022년 1월 27일
0
post-thumbnail

Routing

요청에 따라 처리를 해주는 것
서버는 요청에 따라 분기 처리해서 응답을 해준다.

폴더명/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

http method : 서버에 요청을 보내는 방법을 의미한다.

method역할
GET요청받은 정보를 검색(read)하여 응답
POST요청된 자원을 생성(create)
PUT요청된 자원을 수정(update)
DELETE요청된 자원을 삭제(delete)

GET

var express = require("express")
var router = express.Router()

router.get('/', (req, res) => {
   res.json({
      massage: 'hello!!!',
      name: 'park'
   })
  });
  module.exports = router;

POST

데이터를 생성한다.

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; 로 적어줄 수 있다.

PUT

배열의 몇번째 값을 수정해줄 건지 파라미터로 받아야한다.
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

// 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;

profile
얼레벌레 돌아가는 Frontend Developer

0개의 댓글