Session 25. Middleware


*🔐Study Keyword :


私もMiddleware🔑使ってみようかな~

- Middleware


-WHY USE❔❕

なぜMiddlewareを書くのですか?

  • APIは、要求の受信から応答として導出されるまでの全プロセスを処理する.
    中には複数の関数が順次通過し、そのうちの1つはmiddlewareです.
  • -WHNE USE❔❕
  • ミドルウェアの存在は、同じ役割を果たす関数をモジュールとして排除し、要求を受信したときに応答する前に複数の段階を経験するためである.
  • 2미들웨어 함수が作成されると、ルーティング時に関数が呼び出される前に、미들웨어 함수が最初に通過する.
  • ビット画像は、ユーザ情報を含むトークン(復号)認証ユーザプロセスを開くコードである.
  • ユーザーIDの確認中にもエラー処理を行います.
    1>ユーザがいない場合,2>有料会員でない場合などを想定する.
  • これらのプロセスが関数処理を1つずつ呼び出す手間を減らすために、미들웨어という共通関数を使用して分離ロードを行うことができる.
  • <script>
    import express from 'express';
    const { ArticleController } from '../controllers';
    const { validateToken } from '../middlewares'; 
    // 위에서 만든 미들웨어 로직을 임포트 합니다.
    const router = express.Router();
    router.get('/', ArticleController.getArticles)
    router.get('/:articleId', ArticleController.getOneArticle)
    // 아래 세가지 post, put, delete 요청에 대한 컨트롤러는 유저의 인증/인가가 필요한 로직입니다.
    router.post('/', validateToken, ArticleController.postOneArticle)
    router.put('/:articleId', validateToken, ArticleController.updateOneArticle)
    router.delete('/:articleId', validateToken, ArticleController.deleteOneArticle)
    export default router
    </script>

    util関数とミドルウェア関数を判別する基準は?

  • ある関数を実行する前に、先に起動しなければならない関数がミドルウェアであり、すなわち、関数を実行する前に入る関数の役割がミドルウェアである.
  • でutil関数は共通関数を表す.
  • next()は、次のメソッドを呼び出すために使用されます.
    =>したがって、単純な繰り返し操作を行う場合、ミドルウェアを組み込む条件が満たされる.ミドルウェアを使用しない場合は、サービス側でifelse文を使用し、userorder productサービスですべて重複する場合は、ミドルウェアとしてフィルタリングして個別に記述できます.
  • 💡TIP)
    utill関数の使用時に一度ブラウズする

    *💡conclusion


    ミドルウェアは自分で作って使います.

    #📑Study Source


    先週の会議で:(