개발자 💻/NestJS10 [Swagger] BasicAuth 문서 접근 보안 NestJS 에서는 `@nestjs/swagger` 패키지를 통해 API Swagger docs 를 만들 수 있다. 해당 패키지에 대한 기본적인 가이드는 [공식문서] 를 참조하자.서버에서 API 를 구현하면서 몇가지 설정을 동봉하면 Swagger 가 자동생성되는데, 이를 통해 개발된 API 에 대한 호출을, 정의한 타입들을 운용하여 실행 및 테스트해볼 수 있다.NestJS Swagger 문서는 서버랑 같이 실행되면서 serve 되기 때문에 서버 엔드포인트의 특정 경로를 기반으로 제공된다. 그러다보니, 클라이언트 개발자나 외부 인원에게 공유하기 위해 만든 이 문서가 서버 경로를 아는 누군가에 의해 노출될 수 있는 것이다.예를 들어, Swagger 를 "/api-docs" 라고 하는 경로 하위에 설정하였다면.. 2025. 1. 8. [초보자의 눈으로 보는 NestJS] 6. DTO와 Validation 6. DTO와 Validation요약이전 글에서는 [초보자의 눈으로 보는 NestJS] 5. 유저 서비스의 구현5. 유저 서비스의 구현 요약 이전 글에서는 [초보자의 눈으로 보는 NestJS] 4. 유저 서비스의 구현과 의존성 주입 4. 유저 서비스의 구현과 의존성 주입 본 글에서는 유저 데이터를 관리하는 서비스ts01.tistory.com유저 배열(Array)을 기반으로 유저 데이터를 관리하는 CRUD 기능을 구현하였습니다.코드 구현 및 동작을 테스트하기 위해 Postman을 활용하여 확인하였습니다.본 글에서는컨트롤러와 프로바이더에서 주고 받는 데이터를 DTO(Data Transfer Object)로 정의합니다.DTO에 대한 데이터 검증(Data Validation)을 추가하여, 올바른 데이터만이 도달.. 2024. 5. 31. class-validator 의 @IsBoolean 데코레이터와 enableImplicitConversion 설정된 Transform 의 문제 개요본 개요는 문제를 만나게 된 과정을 설명하고 있으므로, 이미 문제를 겪으신 분들은 생략하셔도 좋습니다. NestJS에서는 애플리케이션에 필요한 설정(Configuration)들을 위해 `@nestjs/config` 패키지를 제공합니다. 환경변수 파일(대표적으로 .env 파일)에 기재된 환경변수(Environment variables)들은 위 패키지가 제공하는 `ConfigModule` 로 주입되며 애플리케이션 곳곳에서 이용될 수 있게 됩니다.이 때, 파일에 기재되고 애플리케이션으로 불러온 환경변수가, 필수인데도 입력되지 않았거나 잘못된 포맷으로 입력되었는지 확인하지 않는다면 애플리케이션은 정상적으로 동작할 수 없습니다. 이러한 문제를 해결하기 위해 Joi 와 같은 패키지가 공식 문서를 통해 추천되고 .. 2024. 2. 29. [초보자의 눈으로 보는 NestJS] 5. 유저 서비스의 구현 5. 유저 서비스의 구현 요약 이전 글에서는 [초보자의 눈으로 보는 NestJS] 4. 유저 서비스의 구현과 의존성 주입 4. 유저 서비스의 구현과 의존성 주입 본 글에서는 유저 데이터를 관리하는 서비스를 예시 구현합니다. 모듈-컨트롤러-프로바이더 간의 관계를 예시 코드로 구현하고, 다른 모듈 또는 서비스를 ts01.tistory.com 유저의 모듈/컨트롤러/프로바이더 파일을 생성하고, 각 코드 간 연관성에 대하여 설명하였습니다. 의존성 주입 (DI : Dependency Injection) 기술에 대한 자세한 설명과 그것이 사용될 수 있는 예시를 설명하였습니다. 본 글에서는 유저 배열을 기반으로 유저 데이터를 관리하는 CRUD 기능을 구현합니다. 구현에서는 실제 데이터베이스를 연동하지 않습니다. Nes.. 2024. 2. 24. 이전 1 2 3 다음