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