Express 탐구하기

HS K·2022년 11월 12일
0

Express

목록 보기
1/1

req : http 통신 시, 요청에 대한 다양한 정보와 meta정보를 품는 express내에 요청에 관련된 모든 내용이 들어있는 객체이다.

express는 req내에 다양한 종류의 세부 데이터들로 접근할 수 있는 데이터들을 정리해놓았다.

req.params
req.query
req.body
req.headers
req.path
네트워크 통신시 다양한 데이터들이 위치해 있는 곳에 들어오는 값들의 각각의 표현으로서 데이터를 긁어올 수 있다.


res : http 통신 시, 응답에 대한 정보를 담는 express내의 응답객체이다.
응답객체도 express내부 다양한 documentation 문건을 보면
res.status(code),
res.send(body),
res.json(json),
res.type(type),
res.sendFile(path, [options], [callback])

등 이미 기존에 잘 정의된 응답객체 내에 기본 정보 요소들이 있다.
response는 클라이언트에게 무언가를 담아서 보내는 입장이기에 항상 메소드안에 다양한 매개변수들이 인자로서 들어가야한다.


app.xxx()의 정체
app : express가 프레임워크로서 기본으로 제공하는 다양한 내부기능을 담아내기 위해 사용하는 객체

const express = require("express"); // --- (1)
const app = express();				// --- (2)

(1) require 메소드를 통해서 express 모듈을 임포트하여 객체를 생성하고 express변수가 참조하도록 하는 행위

(2) express() 함수를 호출하고, app이라는 변수안에 담는 행위


app.use()의 의미

  • app.use()는 일종의 미들웨어를 추가하는 함수이다.
  • 매개변수의 형태로 들어오는 다양한 함수들을 받아 app에 middleware로서 추가한다.


(위의 그림은 app에 middleware로서 추가하는 것을 보여준다)
이 뜻은 일련의 request와 response 객체가 한 차례 통신 사이클 동안 middleware라는 스택들을 통과해야지만 온전히 클라이언트가 요청한 내용에 상응한 응답을 해줄 수 있게 된다.

즉, app.use안에 있는 cors(), morgan()등 모든 기본적인 초기 환경 세팅 요소들은 하나의 미들웨어로서 들어가서 한 차례 훑고 지나가야지만 응답으로서 발휘 될 수 있다.


app.httpMethod()의 의미 (5:05)

  • app.httpMethod()는 외부에서 들어오는 HTTP 네트워크 요청을 라우팅한다.
  • app.use()로 수렴되는 모든 http 메소드를, 각각의 요청에 맞게 의도한 callback 함수만이 동작하도록 분기처리를 한다.
    ex) 각각의 http CRUD 요청에 따라 의도한 함수가 동작하는 내용
app.post('/', functionForpost);		//클라이언트의 post요청에 따른 함수 라우팅
app.get('/', functionForGet);		//클라이언트의 get요청에 따른 함수 라우팅 
app.put('/', functionForPut);		//클라이언트의 put요청에 따른 함수 라우팅 
app.delete('/', functionForDelete); //클라이언트의 delete요청에 따른 함수 라우팅  

참고

https://vimeo.com/732319215

profile
주의사항 : 최대한 정확하게 작성하려고 하지만, 틀릴내용이 있을 수도 있으니 유의!

0개의 댓글