inflearn logo
강의

講義

知識共有

しっかりしたバックエンドNestJS、基礎から深化まで

expressミドルウェアを理解する

next()가 없는 (불필요한) 경우에도, middleware 함수라고 볼 수 있나요??

414

niobbam

投稿した質問数 6

3

안녕하세요~ 좋은 강의 넘 잘 듣고 있습니다~ 감사합니다 :)
이 에러 핸들링을 하는 함수를 middleware라고 언급해주셨는데, 저는 조금 헷갈려서 질문 드립니다!
 
app.use((req: express.Request, res: express.Response, next: express.NextFunction) => {
  console.log('this is error middleware');
  res.send({ error: '404 not found error' });
});
 
 
미들웨어는 하려는 일의 중간에서, 개발자가 원하는 무언가를 할 수 있도록 하는 것을 말하는거니까 express 에서는 next() 가 있는 경우를 middleware 로 본다 는 것으로 이해했습니다.
 
그런데 위 코드는 다음으로 넘기는 것 없이 바로 404를 반환해서, next가 꼭 필요하지 않은 것 같은데... 이 경우에도 이 함수를 middleware 함수라고 볼 수 있나요~?

express middleware mongodb nodejs NestJS ssr

回答 2

1

amamov

안녕하세요!

네 정확히 이해하셨습니다 :)

미들웨어는 express 소프트웨어 코드 관점에서는 next( )가 존재하는 라우터라고 정의할 수 있고 논리적 관점에서 중앙에서 공통된 기능을 묶어 수행하거나 특수 기능을 수행하는 장치 및 함수라고 정의할 수 있습니다.

엄밀하게 말하면 말씀해주신 것처럼 해당 라우터는 미들웨어가 아니라 끝자락에 있는 에러처리 라우터라고 할 수 있습니다!

제가 미들웨어라 언급한 것은 일반적인 라우터가 아님을 그룹화하여 강조 설명하기 위해 언급했습니다.

현재 이해하신 것이 맞습니다!

좋은 질문 감사합니다. :)

0

niobbam

아~ 이해했습니다~ 빠르고 자세한 답변 넘 감사합니다~ :)

프로젝트 환경 세팅할 때 최신 노드 버젼을 사용하시는 분들은 참고하셔도 좋을 것 같아요~

2

86

1

DTO에 대한 질문

1

89

2

백엔드 MVC에서 View의 역할은 무엇인가요?

1

96

2

추가 업데이트 관련 건

0

93

2

nest js 버전문제

0

81

2

mongdb 스키마 공식 문서와 형태가 다른 이유 궁금합니다.

0

104

1

라인 끝에 에러 표시(eslint) 때문에 구글 찾아 보니.

0

78

1

전체 고양이 조회 라우터 중 error.message 오류

0

71

1

캡슐화 추가 설명 중 단일책임원칙 관련 질문

0

106

0

42강 고양이끼리 소통 댓글 구현 중 Schema hasn't been registered for model 'comments' 에러 해결

0

82

1

채팅 이슈

0

134

1

모듈이 더 이상 지원하지 않는답니다

0

207

1

오류가 있습니다

0

107

1

import 에서 오류가 납니다

0

129

1

이런 오류가 나옵니다

0

103

1

에러가 발생합니다

0

111

1

프론트 에러 뜨는데 수정 안해주시나요

0

160

1

emit() broadcast.emit() 질문있습니다

0

103

1

서버연결이 안됩니다.

1

403

1

[PM2][ERROR] Command not found

0

521

1

S3에 업로드까지는 성공했는데 사진이 나오지 않습니다.

0

249

1

error_code : Property 'user' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.ts(2339)

0

603

1

jwt를 따로 연습하고 있는데 env를 못읽는 것 같습니다.

0

324

2

Ec2로 안하시는 이유가 있을까요?

0

343

1