나의 발자취

RestAPI에 betterSQL 적용하기 본문

Backend

RestAPI에 betterSQL 적용하기

달모드 2024. 10. 14. 12:49

npm i better-sqlite3 패키지를 설치해준다.

 

 

기존의 RESTapi와 비슷하면서도 다르다. 다른 점 위주로 작성해보겠다.

  • 일단 당연히 sqlite3를 이제 쓰지 않을 것이기 때문에 해당 부분은 Database 변수로 선언해주는 부분이 다르다.

그리고 const app 부분부터 create_sql 쿼리부분까지는 내용이 같으니 복붙해준다. 

아래에 db.exec(create_sql); 을 해준다.

 

GET /posts - 게시글 목록 가져오기

그리고 그 아래에 1번 GET 기능을 아래 부분만 복붙해준다.

 

그리고 코드 작성

// 1. GET /posts 게시글 목록
app.get("/posts", (req, res) => {
  const page = req.query.page ? parseInt(req.query.page) : 1;
  const limit = 5; // 한페이지 당 5개 글만 볼것이다
  const offset = (page - 1) * limit; // page = 2일 경우, offset => 5
  let sql = `
    SELECT id, title, author, createdAt, count FROM posts
    ORDER BY createdAt DESC limit ? offset ?
    `;
  const stmt = db.prepare(sql);
  const rows = stmt.all(limit, offset);
  res.json({ item: rows });
});

 

그러면 확연히 분량이 확 줄어든 것이 보인다.

 

이제, 노드몬으로 파일을 서버에 올리고 아래와 같이 Curl로 GET 요청을 해보면 정상적으로 모든 데이터를 가지고 오는 것을 확인할 수 있다. 

 

728x90
반응형
Comments