[서버 week_2] 발전과제 라우팅
폴더 구조는 다음과 같다
- src
index.ts- api
index.ts
blog.ts
user.ts
- api
src/index.ts -> src/api/index.ts -> src/api/blog.ts 순서로 실행된다
src/index.ts
app.use('/api', require('./api'));
src/api/index.ts
router.use('/user', require('./user'));
router.use('/blog', require('./blog'));
src/api/blog.ts
const router : Router = express.Router();
router.get('/', (req: Request, res: Response) => {
res.send('<h2> 블로그 </h2>');
});
이렇게했을 경우 라우터가 많아지면 관리하기가 어렵다. 예를 들어서 /api/user로 get 요청이 들어왔을 때 user.ts 파일로 가는게 아니라 userList.ts 파일로 가게 만들고 싶다고 하면 api/index.ts 파일에서 해당 라우터를 찾아서 직접 바꾸어 줘야 한다 이는 매우 번거로운 작업이다(맞나...?)
따라서 다음과 같이 바꾸었다 일단 폴더 구성은 다음과 같다
- src
index.ts-
api
index.ts- routers
blog.ts
user.ts
- routers
-
src/index.ts
const apiRouter = require('./api')
app.use('/api', apiRouter);
src/api/index.ts
const userRouter = require('./user')
const blogRouter = require('./blog')
router.use('/user', userRouter);
router.use('/blog', blogRouter);
src/api/blog.ts -> src/api/routers/blog.ts 로 위치만 변경 내용은 동일함
이렇게하면 api/index.ts 파일의 blogRouter를 찾아서 바로 변경만 해주면 간편하게 라우터를 변경할 수 있다
이렇게 변경하는게 맞는진 모르겠으나..일단해봄
참고자료
https://devent.tistory.com/136
https://lgphone.tistory.com/76
Author And Source
이 문제에 관하여([서버 week_2] 발전과제 라우팅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tmdgk4902/서버-week2-발전과제-라우팅저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)