inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

loggerMiddleware로 morgan처럼 로깅하기

미들웨어 커스텀해서 만들때 질문 드립니다!

360

steady

작성한 질문수 4

0

안녕하세요 제로초님 강의 잘 듣고 있습니다!

다름이 아니라 이 강좌를 듣고 플젝에서 Middleware을 좀 변환해서 사용해보고 있는데요.

컨트롤러에서 @Param()으로 넘기는 값을 Middleware을 거칠때, req.params[''] 만 안되던데 혹시 이유가 있나요? 그리고 이 문제를 사용하셨던 request.get()으로 해결이 가능한가요?

예를 들어 @Query()로 넘기면 쿼리스트링 값을 req.query[]로 하면 가져와지고 @Headers()로 넘겨도 req.headers로 가져와지는데 params()만 안돼서 질문드립니다!

express nodejs NestJS TypeORM

답변 3

0

steady

그렇다면 쿼리파라미터는 먼저 파악이 되는건가요?

0

제로초(조현영)

쿼리 부분은 localhost:3060/abc?d=ef

이런 식으로 있을 때 요청이 들어온 순간부터 명확하게 먼저 d라는 쿼리가 있음을 알 수 있습니다만 abc가 어떤 라우터에 걸리는지는 컨트롤러 단까지 봐야하기 때문입니다.

0

steady

오호... 감사합니다 현영님!!! 도움이 많이 됐습니다. 전체적으로 queryParam으로 바꿔봐야겠네요..

0

steady

@Get('/:projectName/app-users')
  async getAllUsers(@Param('projectName') projectName: string) {
    console.log(projectName);
    return this.usersService.getAppUsersFromIp(projectName);
  }

 

export function Middleware(
  req: Request,
  _res: Response,
  next: NextFunction,
): void {
  console.log('req', req);
  const projectName = req.params['projectName'];
  // const header = req.headers[DATABASE_TENANT_HEADER] as string;
  // console.log('header_tenant=', header);
  console.log('tenantName=', projectName);
  // req.projectname = header?.toString() || null;
  req.projectname = projectName?.toString() || null;
  next();
}

 

 

이렇게 사용하고 있습니다! tenantName= undefind로 뜨더라고요..?

0

제로초(조현영)

미들웨어가 컨트롤러보다 더 먼저 실행돼서 파라미터의 존재 여부를 모르는 것 같습니다. 파라미터는 컨트롤러단에 와서야 파악되거든요.

0

제로초(조현영)

코드 한 번 보여주세요

강의자료는 어디서 다운받나요?

0

141

4

질문 있습니다.

0

315

3

코드 편집기 확장 프로그램

0

220

2

(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?

0

161

2

(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문

0

177

3

로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.

0

161

2

로그인방법이 고민됩니다.

0

197

2

yarn seed 명령어 실행 시 데이터 삽입 안됨

0

305

4

yarn run db:create 시에 발생하는 데코레이터 오류

0

247

2

npm run db:create 시에 발생하는 decorating 오류

0

245

2

RxJS 디버깅 질문 있습니다.

0

198

3

CacheManager에 대해 질문 있습니다.

0

184

2

로깅은 어떻게 하는게 효율적일까요?

0

237

1

CORS 질문 있습니다.

0

425

2

쿠키 옵션에 대해서 질문 있습니다.

0

188

2

로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??

0

458

1

401 unauthorized문제

0

304

1

가드의 장점에 대해서 질문이 있습니다.

0

232

1

로그 관리에 대해 질문 있습니다.

0

254

2

CORS 에러 질문 있습니다.

0

328

2

배포 환경 DB 연결 질문 있습니다.

0

417

2

socket io 미 연결 문제 (nest & flutter)

1

1166

3

no elements in sequence 에러 관해서 질문이 있습니다.

0

462

1

start:dev-backup으로 돌리면 핫 리로딩이 되요 정상인가요?

0

324

1