Routing 이해 및 Router 학습
1. Routing이란?
Routing은 클라이언트의 요청 조건(Http 메서드, 주소 등)에 대응해 응답(Response) 하는 방식을 말합니다.
2. Router란?
Router는 클라이언트의 요청을 쉽게 처리 할 수 있게 도와주는 Express.js의 기본 기능 중 하나 입니다.
- Router 구조
router : Express.js의 라우터를 정의하기 위해 사용합니다.
METHOD : HTTP Method를 나타냅니다 ex) get, post, put, delete
PATH : 실제 서버에서 API를 사용하기 위한 경로 ex) users, posts...
HANDLER : 라우트가 일치할 때 실행되는 함수
3. Router 사용해보기
routes 폴더 생성해 goods.js라는 파일을 생성합니다.
express에서 제공되는 Router 함수를 사용해 Express Router를 생성합니다.
그리고 예시로 엔디포인트를 작성해보겠습니다.
작성한 Router를 app.js에서 사용하기 위해 하단에 내보내주는 코드를 추가합니다.
goods.js 파일에서 노출된 Router를 미들웨어에 사용하겠다고 작성합니다.
→ 이렇게 하면, routes/goods.js 파일은 외부 파일에서 라우트(Route)로 사용될 수 있습니다.
이제 http://localhost:3000/뒤에 /api로 시작되는 주소는 routes/goods.js에 있는
Router 미들웨어를 통해 처리됩니다.
그래서,
http://localhost:3000/ 의 결과는
이지만,
http://localhost:3000/api 의 결과는
app.use("/api", [goodsRouter]);
use함수의 "/api" 경로를 입력할 경우
[goodsRouter] goodsRouter함수를 실행시키겠다
적어놨기 때문에
routes 폴더 안 goods.js의
router.get("/",(req,res)=>{
})
get 함수에 의해 "/api"의 기본 url("/(빈 내용)")이 동작해
자원(res)가 json 파일 형식으로
"default url for goods.js Get Method" 라고
출력될 것 입니다.
만약,
http://localhost:3000/api/about 라고 URL에 입력한다면,
app.use("/api", [goodsRouter]);
위와 마찬가지로 use에 의해
goodsRouter 함수가 동작할 것이고,
라우터 함수 중 "/about"이 동작해
자원(res)가 json 파일 형식으로
"goods.js about PATH"가
출력될 것 입니다.
'Node 강의 > 입문' 카테고리의 다른 글
1-13 Request와 Response (0) | 2024.09.01 |
---|---|
1-12 API Client 학습 (0) | 2024.09.01 |
1-10 API와 REST API 개념 (0) | 2024.09.01 |
1-9 ES6 Module 시스템 알아보기 (0) | 2024.08.30 |
1-8 Express.js로 백엔드 서버 구현 (0) | 2024.08.30 |