일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Listing Data on IOS
- Nodejs 교과서
- 소스트리
- 파이썬
- commit
- Python
- 백준
- algorith
- 잃어버린괄호
- Mac
- remote : Invalid username or password
- Github
- 알고리즘
- HTTP
- Push
- create UI
- REST
- 깃
- SourceTree
- SWIFT
- mysql
- IOS
- 푸쉬오류
- 풀리퀘스트
- nodejs
- APP
- udemy
- git
- functinon
- BOJ
- Today
- Total
YoonC
[Node.js] Express 라우팅, 라우팅 메소드 본문
9장 스스로해보기 하다가 못하겠어서 그냥 개념 정리하고싶은데 정리해버리기..ㅎ😩💁🏻
💡 라우팅 : URI 및 특정 HTTP 요청 메소드의 클라이언트 요청에 응답하는 방법 결정
각 라우트는 하나 이상의 핸들러 함수를 가질 수 있고 라우트가 일치할때 실행
👉🏻 요청 객체 (Request)
- 일반적으로 req 의 변수로 명명 마음대로 지어도 O ( 콜백에 전달되는것이므로 )
- Method
req.params : 이름이 붙은 라우트 파라미터를 받음
ex) app.get(’/:idx’, (req, res) => { res.send(req.params.idx); })
req.query : GET 방식으로 넘어오는 쿼리 스트링 파라미터 담음
req.body : POST 방식으로 넘어오는 파라미터 담음 HTTP의 BODY 부분에 담김
req.route : 현재 라우트에 관한 정보
req.headers : HTTP의 Header 정보를 가짐
req.path : 클라이언트가 요청한 순수 요청 경로
req.accepts([types]) : 클라이언트가 해당하는 타입을 받을 수 있는지 확인하는 메서드
req.url : URL 경로와 쿼리 스트링을 반환
📖 책에서 많이 본 것들!! ⭐️⭐️⭐️
👀 req.on (event(string), listener) 해당 메소드는 request instance에 ‘data’이벤트의 이벤트 핸들러(listener)를 bind
=> (159p) 직접 이벤트를 req.on을 이용해 만들어줄 수 있고 (새로운이벤트 , 내가정의할 이벤트)를 bind 해주는것
원래있는 이벤트에 이벤트 핸들러를 bind 해 줄 수도 있음 (data, end, error)의 경우
원래 있는 이벤트를 알고 싶다면 nodejs.org/api/stream.html 여기서 보자
👀 req.method는 해당 request의 HTTP method를 반환
👉🏻 응답 객체 (Response)
- 요청 객체와 마찬가지 보통 res를 변수로 사용
- Method
res.status(code) : HTTP 응답 코드를 설정
res.send(body), res.send(status, body) : 클라이언트에 응답을 보냄
res.json((status), json) : 클라이언트로 JSON 값 보냄
res.locals : 뷰를 렌더링하는 기본 콘텍스트를 포함하는 객체
res.render(view, [locals], callback) : jade와 같은 템플릿 엔진을 써서 뷰를 렌더링
res.end() : 안써도 되는데 보내줄 데이터가 없을때 사용함
res.redirect() : 요청 경로를 재지정함
라우트의 구조
: app.get/post ( PATH(경로), HANDLER) - GET, POST 방식의 method
이때 app은 express 객체이며 METHOD에는 HTTP 요청 메소드로 GET, POST 방식이 있음
PATH는 해당하는 프로젝트 내 서버 경로, HANDLER는 라우트가 일치할때 발생하는 함수
'Develop > Node.js' 카테고리의 다른 글
REST? RESTful API?? (0) | 2021.03.26 |
---|---|
[Nodejs 교과서] 몽고디비 (3) | 2021.03.18 |
[Nodejs 교과서] 시퀄라이즈 (0) | 2021.03.18 |
[Nodejs 교과서] MySQL (0) | 2021.03.17 |
[Nodejs] MySQL 뚞딲🔨 (0) | 2021.03.17 |