inflearn logo
강의

Course

Instructor

Slack Clone Coding [Backend with NestJS + TypeORM]

Exception Filter

express 버전도 똑같은데 뭐가 문제인지 모르겠네요.

333

zmzss02130723

3 asked

0

HttpExceptionFilter 부분을 똑같이 적용해보고 있는데요.

import {
  ExceptionFilter,
  Catch,
  ArgumentsHost,
  HttpException,
} from '@nestjs/common';
import { Request, Response } from 'express';

@Catch(HttpException)
export class HttpExceptionFilter implements ExceptionFilter {
  catch(exception: HttpException, host: ArgumentsHost) {
    const ctx = host.switchToHttp();
    const response = ctx.getResponse<Response>();
    const httpStatus = exception.getStatus();
    response.status(httpStatus).json({});
  }
}

스크린샷 2022-12-08 오후 4.08.58.png제프로젝트에서는 위처럼 status를 찾지를 못하는데요.

실행자체는 되지만, package.json에 있는 버전들도 똑같이 맞췄는데도 왜 저럴까요??

node_modules 를 제거후 다시 npm i 로 설치해도 똑같습니다. ㅠㅠ

아래는 제 package.json 의 버전들 입니다.

"dependencies": {
    "@nestjs/common": "^8.0.0",
    "@nestjs/core": "^8.0.0",
    "@nestjs/platform-express": "^8.0.0",
    "@nestjs/typeorm": "^8.0.3",
    "mysql2": "^2.3.3",
    "reflect-metadata": "^0.1.13",
    "rimraf": "^3.0.2",
    "rxjs": "^7.5.5",
    "typeorm": "^0.2.45"
  },
  "devDependencies": {
    "@nestjs/cli": "^8.0.0",
    "@nestjs/schematics": "^8.0.0",
    "@nestjs/testing": "^8.0.0",
    "@types/express": "^4.17.13",
    "@types/jest": "27.4.1",
    "@types/node": "^16.0.0",
    "@types/supertest": "^2.0.11",
    "@typescript-eslint/eslint-plugin": "^5.0.0",
    "@typescript-eslint/parser": "^5.0.0",
    "eslint": "^8.0.1",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-prettier": "^4.0.0",
    "jest": "^27.2.5",
    "prettier": "^2.3.2",
    "source-map-support": "^0.5.20",
    "supertest": "^6.1.3",
    "ts-jest": "^27.0.3",
    "ts-loader": "^9.2.3",
    "ts-node": "^10.0.0",
    "tsconfig-paths": "^3.10.1",
    "typescript": "^4.3.5"
  },


사실 그냥 nest 새로 만든 프로젝트에 "http-exception.filter.ts" <- 해당 파일을 복붙만 해도 위처럼 빨간줄이 그어져서 response의 status를 찾지못하네요.

1. nest new project
2. 해당 프로젝트 src 폴더에 "http-exception.filter.ts " 복붙
3. status에 빨간줄 확인

위 빨간줄 무시하고 그냥 실행시켜도 문제없이 실행되긴합니다.
하지만, 그 원인을 알고싶네요! (또는 해결방법)

제 생각에는 제로초님의 node_modules 에 설치된것과 제가 가진 node_modules 에서 차이가 있을꺼같은데, 버전까지 동일하게 한 후 npm i 를 했는데도 이런경우에는 어떻게 해결해야하는지 질문드립니다!

express nodejs NestJS TypeORM

Answer 1

0

zmzss02130723

스크린샷 2022-12-08 오후 4.23.38.png제 vscode 툴에서 마우스 올렸을때 나오는 경고문구

속성 'status'가 'Response<any, Record<string, any>>'.ts(2339) 유형에 없습니다.

1

zerocho

"@types/express-serve-static-core": "4.17.28"

이 버전을 설치하시면 에러가 나지 않을 겁니다. 현재 @types/express에서 사용하는 express-serve-static-core에 문제가 있네요.

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

0

110

3

질문 있습니다.

0

294

3

코드 편집기 확장 프로그램

0

209

2

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

0

143

2

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

0

166

3

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

0

152

2

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

0

190

2

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

0

296

4

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

0

242

2

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

0

231

2

RxJS 디버깅 질문 있습니다.

0

187

3

CacheManager에 대해 질문 있습니다.

0

173

2

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

0

224

1

CORS 질문 있습니다.

0

417

2

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

0

184

2

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

0

447

1

401 unauthorized문제

0

285

1

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

0

225

1

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

0

252

2

CORS 에러 질문 있습니다.

0

318

2

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

0

411

2

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

1

1154

3

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

0

454

1

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

0

322

1