Express.js, 미들웨어, REST API

skj1211·2022년 5월 12일
0

22.05.12

Middleware

HTTP요청과 응답 사이에서 단계별 동작을 수행하는 함수
HTTP요청이 들어온 순간부터 시작되고 HTTP응답이 마무리 될 때까지 미들웨어 동작 사이클이 실행된다.
미들웨어는 HTTP의 요청과 응답 객체를 처리하거나 다음 미들웨어를 실행 한다.

미들웨어 작성법

req, res, next를 가진 함수를 작성하면 해당함수는 미들웨어로 동작할 수 있다.

req : HTTP요청을 처리하는 객체
res : HTTP 응답을 처리하는 객체
next : 다음 미들웨어를 실행하는 함수

constlogger = (req, res, next) =>{
	console.log(`Request ${req.path}`);
    next();
}

req, res, next를 인자로 갖는 함수는 미들웨어가 된다.
req, res 객체를 통해 HTTP요청과 응답을 한다.
next함수를 통해 다음 미들웨어를 호출한다.
next함수가 호출되지 않으면 미들웨어 사이클이 멈춘다.

어플리케이션 미들웨어

use나 http method 함수를 사용해 미들웨어를 연결할 수 있다.
미들웨어를 모든 요청에 공통적으로 적용하는 방법
HTTP요청이 들어온 순간부터 적용된 순서로 동작한다.

라우터 미들웨어

router객체에 미들웨어가 적용된 것
특정 경로의 라우팅에만 미들웨어를 적용

오류처리 미들웨어

일반적으로 가장 마지막에 위치한 미들웨어
err, req, res, next 네가지 인자를 가진다.
앞 미들웨어에서 next함수에 인자가 전달되면 실행

함수형 미들웨어
하나의 미들웨어를 작성하고, 작동모드를 선택하면서 사용하고 싶은경우 함수형 미들웨어로 사용가능

미들웨어 정리

HTTP 요청과 응답 사이에서 동작하는 함수
req, res, next 를 인자로 갖는 함수는 미들웨어로 동작 가능
app, router객체에 연결하여 사용 가능
next에 인자를 넘기는 경우 오류처리 미들웨어가 실행

REST API

REST 아키텍쳐를 준수하는 웹 API

API : Application Programming Intergace
서비스나 프로그램간에 미리 정해진 기능을 실행할 수 있도록 하는 규약

REST : REpresentational State Transfer
웹 에서 자료를 전송하기 위한 표현 방법에 대한 아키텍쳐

HTTP Method 사용

URL 표현법
REST API URL의 자원은 복수형으로 표현
복수형 + 아이디를 통해 특정 자원에 접근한다.
/posts 가 전체 게시글을 칭하는 URL이라면
/posts/1은 1번 게시글이라 표현

REST API 정리

REST API는 REST 아키텍쳐를 준수하는 웹 API
URL을 통한 자원의 표현 방법과 HTTP 함수를 통한 API동작의 정의

Postman

API를 테스트할 수 있는 도구
HTTP요청을 손쉽게 작성하여 테스트 할 수 있게 도움을 준다.

0개의 댓글