본문 바로가기
백엔드/Node.js

sns 서버 구축 (Node.js Express 프레임워크 )

by hyunji00pj 2024. 11. 13.

sns 관리 기능을 구현하는 데 필요한 RESTful API를 Node.js의 Express 프레임워크를 사용하여 만드는 방법이다.아래 코드는 변수명들을 twitter을 예시로 들어 트윗하기, 트윗 가져오기, 트윗 수정하기, 트윗 삭제하기의 기본적인 CRUD(생성, 읽기, 업데이트, 삭제) 기능을 구현할 틀을 짜보았다.

 

1. Express 라우터 설정

모든 HTTP 요청을 처리할 수 있도록 Express의 router 객체를 설정합니다.

import express from 'express';

const router = express.Router();

2. 특정 사용자의 트윗 가져오기

사용자 이름을 기반으로 해당 사용자의 모든 트윗을 조회합니다.

 

// 해당 아이디에 대한 트윗 가져오기
router.get('/tweets', (req, res) => {
    const username = req.query.username; // 쿼리에서 username을 추출
    // 데이터베이스에서 username과 일치하는 트윗 검색 로직
    res.json({ message: '트윗 가져오기 성공', tweets });
});

 

3. 특정 트윗 상세 조회

트윗의 ID를 사용하여 특정 트윗의 상세 내용을 조회합니다.

// 글 번호에 대한 트윗 가져오기
router.get('/tweets/:id', (req, res) => {
    const id = req.params.id; // URL 파라미터에서 id 추출
    // id와 일치하는 트윗 검색 로직
    res.json({ message: '트윗 상세 조회 성공', tweet });
});

4. 트윗하기

새로운 트윗을 생성합니다.

 

// 트윗하기
router.post('/tweets', (req, res) => {
    const { content, username } = req.body; // 요청 본문에서 content와 username 추출
    // 트윗 저장 로직
    res.json({ message: '트윗 성공', tweets });
});
 

5. 트윗 수정하기

기존의 트윗을 수정합니다.

// 트윗 수정하기
router.put('/tweets/:id', (req, res) => {
    const id = req.params.id; // URL 파라미터에서 id 추출
    const { content } = req.body; // 요청 본문에서 수정할 내용 추출
    // 트윗 수정 로직
    res.json({ message: '트윗 수정 성공', updatedTweet });
});

6. 트윗 삭제하기

트윗을 삭제합니다.

// 트윗 삭제하기
router.delete('/tweets/:id', (req, res) => {
    const id = req.params.id; // URL 파라미터에서 id 추출
    // 트윗 삭제 로직
    res.json({ message: '트윗 삭제 성공' });
});

 

위의 예시처럼 Express를 사용하여 간단하게 RESTful API( Representational State Transfer(REST) 원칙을 따르는 웹 서비스 인터페이스 )를 구현할 수 있다. 실제 서비스에서는 사용자 인증, 입력 데이터 검증, 에러 처리 등을 추가로 고려해야 하므로 다음 포스팅에서 하나씩 추가해 보겠다