전역 미들웨어를 어떻게 작성해야할까

tennfin1·2023년 8월 6일
0

backend

목록 보기
5/18

코린이입니다.

router.get("/log-out",토큰권한확인모듈,async(req,res,next)=>{
const result = {}
    try{
        토큰권환 확인에 성공했을 때의 코드
    }catch(err){
    } finally{
    	res.send(result)
    }    
})

방식으로 서버에서가 아니라 각 api에서 실행하기 전에 실행할 미들웨어를 직접 지정해줄 수 있다.

내가 만든 api의 실행순서는

  1. 토큰 검증
  2. 토큰 권한 확인
  3. api 실행
  4. 실행한 api에 대한 로깅 실행

으로 이루어졌는데, 위와 같은 방식으로 하면 토큰권환확인모듈에서 실패했을 때 try문을 건너뛰어야 하는데 쉽지가 않다.

router.get("/log-out",async(req,res,next)=>{
    const result = {}
    try{
        if(토큰권환 실패) throw new Error('authrization Fail'); // try문을 건너뜀
        토큰권한 확인에 성공했을 때 코드
    }catch(err){
    } finally{
        res.send(result)
    }    
})

전역 미들웨어를 사용하지 않았지만 코드는 더 단순해짐

지적은 환영합니다

profile
심도깊은개발

0개의 댓글

관련 채용 정보