강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

IJILKJ님의 프로필 이미지
IJILKJ

작성한 질문수

탄탄한 백엔드 NestJS, 기초부터 심화까지

NestJS와 fastify & 협업을 위한 API 문서 만들기, CORS 문제

swagger 관련 코드 질문입니다.

작성

·

566

1

강의와 공식문서를 보면서 만들어보고 있는데 잘 안되는점이 2가지 있어서 질문드립니다.
1. SignUpDto라는 class를 만들고 거기서 @ApiProperty()를 적용시켰습니다.
그리고 SignInDto는 extends PickType(SignUpDto, ['username', 'password']) {}

이런식으로 상속받았습니다. 그런데 /api로 가서 swagger ui를 보면 signindto에 대한 request body는 안나오더라구요. 더 설정해줘야할게 있을까요?
2. 공식문서를 보고 controller 부분에 @ApiResponse태그를 이용해서 response에 대한 swagger 문서를 작성했는데
직접해보니까 같은 statusCode인경우 1가지만 적용이되더라구요.
예를 들어서 제가 nickname error와 username error를 둘다 statusCode 409로 swagger 문서에 적용시키고 싶은데 방법이 있나요?

퀴즈

민감한 데이터(예: 데이터베이스 URI)를 코드에 직접 노출하는 대신 권장되는 안전한 방법은 무엇일까요?

하드코딩하여 사용합니다.

환경 변수를 사용합니다.

주석으로 처리해둡니다.

별도의 파일에 확장자 없이 저장합니다.

답변 3

1

IJILKJ님의 프로필 이미지
IJILKJ
질문자

signIndto, signupdto, 그리고 이 2개의 dto가 사용된 controller의 함수들에대해 그림으로 코드 첨부합니다.

0

윤상석님의 프로필 이미지
윤상석
지식공유자

PickType을 잘못 가져오신 것 같습니다. 

아래의 코드로 수정하시면 될 것 같습니다!

import { PickType } from '@nestjs/swagger'

0

윤상석님의 프로필 이미지
윤상석
지식공유자

안녕하세요!

1. 질문 글에 대해서 코드상 문제는 없어 보입니다. 혹시 상세 코드에 대한 깃헙 링크가 있다면 첨부해주시면 도움 드리겠습니다!

(코드 이미지를 첨부해주신 것 같은데 안보입니다 ㅠㅠ)

2. 아직까지 @ApiResponse는 statusCode 하나만 가능합니다. 다른 상태코드로 쓰시는 것을 권장드립니다. 저는 같은 상태코드를 쓸 경우, description에 글로 적어두는 편입니다.

IJILKJ님의 프로필 이미지
IJILKJ

작성한 질문수

질문하기