나의 발자취
RestAPI에 betterSQL 적용하기 본문
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 요청을 해보면 정상적으로 모든 데이터를 가지고 오는 것을 확인할 수 있다.

'Backend' 카테고리의 다른 글
| GraphQL 특징, node js로 GraphQL 구현 및 쿼리 날려보기 ⭐️ (0) | 2024.10.15 | 
|---|---|
| 댓글 기능 추가하기 (RestAPI 별도 라우터 /comments) (0) | 2024.10.15 | 
| RESTful API 설계 후 CURL로 데이터 주고받기 (0) | 2024.10.14 | 
| CURL이란? (8) | 2024.10.14 | 
| API 종류들(SOAP, RESTful, GraphQL, gRPC, WebSocket, Webhook)과 Restful API의 특징 (2) | 2024.10.14 | 
			  Comments
			
		
	
               
           
					
					
					
					
					
					
				 
								 
								