728x90
728x90
익스프레스(express)에서는 개발자가 다양한 기능을 사용할 수 있도록 미리 만들어 둔 여러 가지 미들웨어를 제공한다. 특히 다른 개발자들이 만들어서 올려 둔 미들웨어를 쉽게 끼워 넣을 수 있어 아주 편리하게 사용할 수 있다. 여기에서는 자주 사용하는 몇 가지 기본 미들웨어에 대해 알아본다.
스태틱 미들웨어(Static middleware)
static 미들웨어는 특정 폴더의 파일들을 특정 패스로 접근할 수 있도록 만들어 준다. 예를 들어 public이라는 폴더에 있는 모든 파일을 웹 서버의 root path로 접근할 수 있도록 만들고 싶다면 다음 코드를 추가하면 된다.
일단 static 미들웨어는 외장 모듈로 만들어져 있어 설치가 필요하다.
$ npm install serve-static --save
var static = require('serve-static');
...
app.use(static(path.join(__dirname,'public'));
바디 파서 미들웨어(body-parser middleware)
이번에는 post로 요청했을 때 요청 파라미터를 확인할 수 있도록 만들어 둔 body-parser 미들웨어는 클라이언트가 post방식으로 요청할 때 본문 영역에 들어 있는 요청 파라미터들을 파싱 하여 요청 객체의 body 속성에 넣어준다.
body-parser도 외장 모듈이기 때문에 설치가 필요하다.
$ npm install body-parser --save
var bodyparser = require('body-parser');
...
app.use(bodyparser.urlencoded({extended: false})); //body-parser를 사용해 application/x-www-form-urlencoded 파싱
app.use(bodyparser.json());//body-parser를 사용해 application/json 파싱
라우터 미들웨어(router middleware)
요청 url을 일일이 확인해야 하는 번거로운 문제를 해결하는 것이 라우터 미들웨어(router middleware)이다. 라우터 미들웨어는 익스프레스에 포함되어 있으며, 사용자가 요청한 기능이 무엇인지 패스를 기준으로 구별하기 때문에 매우 중요하다.
메소드 이름 | 설명 |
get(callback) | GET 방식으로 특정 패스 요청이 발생했을 때 사용할 콜백 함수 지정. |
post(callback) | POST 방식으로 특정 패스 요청이 발생했을 때 사용할 콜백 함수 지정. |
put(callback) | PUT 방식으로 특정 패스 요청이 발생했을 때 사용할 콜백 함수 지정. |
delete(callback) | Delete 방식으로 특정 패스 요청이 발생했을 때 사용할 콜백 함수 지정. |
all(callback) | 모든 요청 방식을 처리하여, 특정 패스 요청이 발생했을 때 사용할 콜백 함수 지정. |
//라우터 객체 참조.
var router = express.Router();
//라우팅 함수 등록.
router.route('요청 패스(path)').get(실행될 함수);
router.route('요청 패스(path)').post(실행될 함수;
//라우터 객체를 app 객체에 등록.
app.use('/',router);
728x90
728x90