검색
검색
공개 노트 검색
회원가입로그인
내 서비스 만들기 : 백엔드 서버 (node, express, typescript )

타입스크립트 서버 라우터 만들기

이번에는 서버에 라우터를 만들어 주자.

src 폴더에 routes라는 폴더를 만들고 index.ts 파일을 만든다.

이 인덱스 파일에 각각의 콘트롤러를 임포트하고 하나의 파일에서 연결해 줄 생각이다.

import express from "express";

import * as postController from "../controllers/postController";

const router = express.Router();

router.get("/posts", postController.index);

export default router;

이런 식의 구조를 가진다. 이렇게 하나의 파일에서 루트를 관리해 주면 한 번에 사용하는 루트들을 파악할 수 있어서 편리하다. (라라벨로 치면 app.php같은 느낌이다.)

루트 폴더에 controllers 라는 폴더를 만들고 postController.ts 파일을 만들어 준다.

export async function index(req: Request, res: Response) {
  const posts = [{id: 1, title: 'ts server', content: 'server structure'}];
  res.json({ data: posts });
}

index 루트의 예시를 만들어 봤다. 이런 식으로 루트를 하나씩 export 해서 index.ts 파일에서 연결해서 사용하면 된다.

이렇게 만든 라우터를 app.ts 에 연결해 주자.

// app.ts
import indexRouter from "./routes";

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

// 이 부분을 추가해서 연결한다.
app.use("/api", indexRouter);

기본적으로 api 라는 주소가 붙도록 해놨다.

이제 서버를 키고 (npm run dev) 127.0.0.1:8080/api/posts로 접속해 보자.

이런 식의 구조를 가지고 post, put, delete 등의 method를 가진 CRUD를 만들어서 사용하면 된다. (CRUD : Create Read Update Delete)

이렇게 하면 당신만의 타입스크립트 서버가 완성됐다. 참 쉽지 않나요?

다음 시간에는 DB를 연결해 보도록 하자.


공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
다음 페이지 알림을 10번까지 보내드려요. 언제든지 취소할 수 있습니다.
설정 보기