Post

nodejs 공부 2024.05.30

과제

node_counter 깃허브 링크

숫자를 프론트에서 넘겨서 백에서 숫자를 받으면 그 값으로 화면에 표시하고 프론트에서 값이 안 오면 그냥 1 증가한 값을 화면에 표시

api

get이랑 post, put은 배웠음. 삭제는 따로 구현했는데 (혼자ㅎ)

get방식이었음. 교수님이 코드 리뷰해주셨는데.. 길을 가긴 갔는데 제대로 못갔다고 하심 ㅠ

  • 내코드
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
      // 댓글 삭제
      app.get('/delete/:id', (req,res, next) => {
      const sql = 'DELETE FROM comment WHERE no = ?';
      const id = [req.params.id];
    
      connection.query(sql, id, (err, result) => {
          if (err) {
              console.error('데이터베이스 오류:', err);
              return res.status(500).send('서버 오류');
          } res.redirect("/comments");
            
      });
      });
    

    delete를 써서 api 를 구현해서 만들어야함

그리고 http에 행위가 포함이 되면 안됨.

  • 교수님 코드
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
      // 댓글 삭제
      app.delete('/api/comments/:id', (req,res, next) => {
      const sql = 'DELETE FROM comment WHERE no = ?';
      const id = [req.params.id];
    
      connection.query(sql, id, (err, result) => {
          if (err) {
              console.error('데이터베이스 오류:', err);
              return res.status(500).send('서버 오류');
          } res.json({"result" : "ok"});
            
      });
      });
    

그리고 프론트에서 백앤드로 api에 값 보낼때 상대주소로 해야함!

1
2
3
4
5
6
7
8
9
function deleteComment(no) {    
    fetch(`/api/comments/${no}`, {method: "DELETE"})
    .then((res) => res.text())
    .then((result) => {
        alert('삭제되었습니다.');
        location.reload();
    })
    .catch((err) => alert('오류 발생'))
}

포트번호 80으로 해두면 locallhost url로 바로 갈 수 있음

1
2
3
4
5
6
7
8
9
10
11
12
const bodyParser = require('body-parser');
const express = require('express');
const app = express();
const port = 80;
app.use(bodyParser.json());
app.listen(port, () =>{
    console.log(`서버 실행중: http://localhost:${port}`);
});

app.get('/', (req, res) => {
    res.send('Hello World!');
});
This post is licensed under CC BY 4.0 by the author.