[Restful] REST - Express 방향 수정

Zero·2023년 3월 13일
0

REST

목록 보기
4/8
app.post('/comments', (req,res) => {
  const {username, comment} = req.body;
  comments.push({username, comment});
  res.send("POST SUCCESS!!!");
})

해당 코드를 통해 form 제출을 완료하고 comment 를 추가했다고 가정하면 다음과 같은 페이지가 나온다.

하지만 문제점이 하나 발생하는데, 해당 페이지에서 새로고침을 누르면 ???

다음과 같은 창이 뜨고, 계속 버튼을 누른 뒤 몇번의 새로고침과 계속버튼의 클릭이 이어지면 ?

이렇게 우리가 입력한 comment가 여러번 추가된 것을 볼 수 있다. 실제로 이런식으로 데이터가 처리된다면 큰 문제가 생길 것이다.

--> 이러한 이유로 대부분의 POST 요청시 redirect를 이용하여 GET으로 바꿔줄 필요가 있다.



redirect 사용하기

app.post('/comments', (req,res) => {
  const {username, comment} = req.body;
  comments.push({username, comment});
  res.redirect('/comments');
})

다음과 같이 res.redirect('/comments')를 통해 폼 입력을 제출하고 나면 comment 목록을 보여주는 /comment 페이지로 리다이렉트가 이루어진다.

0개의 댓글