• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

가드와 미들웨어 질문드립니다.

24.01.28 14:24 작성 24.01.28 15:41 수정 조회수 124

0

 

안녕하세요.,

강의 잘 보고있습니다.

 

가드랑 미들웨어 용도를 이렇게 이해하면 좋을까요?

 

1.가드:

-특정 컨트롤러로 들어온 파라매터, 혹은 context데이터를  가공하거나 검증하고 싶을때

 

2.미들웨어:

-특정 규칙을 가진 패쓰 혹은 컨트롤러 전체에 데이터를 검증하고 싶을때

 

 

아주 맨 처음에 저는 token 을 검증하는 BearerTokenGuard이 가드보다는 middleware 로 가는것이 맞지 않나 싶었는데요.

context.user 데이터를 controller 에 내려주기 위해

IsCommentMine Guard 처럼 다른 가드로 유저데이터를 넘겨줘야하는 경우가 있어서

가드로 사용하는것으로 이해했는데 맞을까요?

(그리고 middleware 로는 불가능한걸까요?)

답변 1

답변을 작성해보세요.

1

안녕하세요!

어떻게 사용하셔도 크게 상관 없습니다.

어느 한 방식이 맞다고 생각할 근거와 기준 그리고 일관성만 있으면 됩니다.

하지만 뉘앙스에 맞게 사용하는게 아무래도 유지보수에 편합니다.

Guard는 특정 조건에 따라 요청을 튕겨내는데 적합할것입니다.

내부적으로 보면 결국 전부 express의 미들웨어 개념으로부터 나왔을거기 때문에 사실상 근본적인 차이는 없다고 봐도 무방합니다.

감사합니다!