inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

yoon1139님의 게시글

yoon1139 yoon1139

@yoon1139

수강평 작성수
-
평균평점
-

게시글 2

질문&답변

Exception Filter와 관련하여 질문있습니다.

아래와 같이 작성했습니다. // main.ts import { NestFactory } from ' @nestjs/core '; import { AppModule } from ' ./app.module '; import { SwaggerModule , DocumentBuilder } from ' @nestjs/swagger '; import { HttpExceptionFilter } from ' ./common/exception-filter/http-exception.filter '; import { HttpException , ValidationPipe } from ' @nestjs/common '; declare const module : any ; async function bootstrap () { const app = await NestFactory . create ( AppModule ) ; const PORT = process . env . PORT || 3000 ; const config = new DocumentBuilder () . setTitle ( ' Sleact API ' ) . setDescription ( ' Sleact 개발을 위한 API 문서입니다. ' ) . setVersion ( ' 1.0 ' ) . addCookieAuth ( ' connect.sid ' ) . build () ; const document = SwaggerModule . createDocument ( app , config ) ; SwaggerModule . setup ( ' api ' , app , document ) ; app . useGlobalPipes ( new ValidationPipe ( { whitelist : true , forbidNonWhitelisted : true , transform : true , } ) , ) ; app . useGlobalFilters ( new HttpExceptionFilter ()) ; app . use ( ( req , res , next ) => { throw new HttpException ( ' 미들웨어 에러 테스트 ' , 400 ) ; next () ; } ) ; await app . listen ( PORT ) ; console . log ( ` ${ PORT } 번 포트에서 서버 실행 중 ✅ ` ) ; if ( module . hot ) { module . hot . accept () ; module . hot . dispose ( () => app . close ()) ; } } bootstrap () ; 혹시 main.ts의 코드 순서도 라이프 사이클과 동일하게 맞춰줘야 하는건가요!?

좋아요수
0
댓글수
2
조회수
502

질문&답변

스키마에 이미지는 어떻게 넣는지 궁금합니다.

강사님은 아니지만 노드를 백엔드로 프로젝트 몇 번 진행해봤기에 답변 드립니다. 보통 데이터베이스에 저장하는 것은 이미지의 경로입니다. multer 를 설치해서 (npm i multer) 처리합니다. 파일을 데이터베이스에 저장하지 않고, aws s3나 로컬(본인 pc)에 저장하고 그 경로를 DB에 저장하여 와 같이 사용합니다. multer 패키지를 찾아보시는게 좋을 것 같네요. 이렇게 외부의 파일을 가져올 경우에는 app.use("/upload", express.static("public")) 와 같이 미들웨어 설정을 반드시 해줘야 합니다. "/upload라는 경로로 접속했을 경우 public 폴더를 공개하겠다". 결론 : 찾아보셔야 할 것은 multer 패키지, express.static() 미들웨어 이 두 가지입니다.

좋아요수
0
댓글수
1
조회수
243