정말 짧고 간단한 코드지요? 이 미들웨어는 로그인 상태가 아니라면 401 HTTP Status를 반환하고, 그렇지 않으면 그다음 미들웨어들을 실행합니다.

    이제 이 미들웨어를 posts 라우터에서 사용해 보겠습니다.

    src/api/posts/index.js

    import Router from 'koa-router';
    import * as postsCtrl from './posts.ctrl';
    import checkLoggedIn from '../../lib/checkLoggedIn';
    
    const posts = new Router();
    
    posts.get('/', postsCtrl.list);
    posts.post('/', checkLoggedIn, postsCtrl.write);
    
    const post = new Router(); // /api/posts/:id
    post.get('/', postsCtrl.read);
    post.delete('/', checkLoggedIn, postsCtrl.remove);
    post.patch('/', checkLoggedIn, postsCtrl.update);
    
    posts.use('/:id', postsCtrl.checkObjectId, post.routes());
    
    export default posts;

     

    어떤가요? 미들웨어를 만드니까 로직을 재사용하기가 참 편하지요?

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.