728x90
반응형
Controller 부분에서 아래와 같이 함수를 짜면 잘 보이지만 swagger에서는 잘 잡히지 않는 경우가 있습니다.
@Query('쿼리파라미터1') 쿼리파라미터1?: string,
@Query('쿼리파라미터2') 쿼리파라미터2?: string,
@Query('쿼리파라미터3') 쿼리파라미터3?: string,
위와 같이 optional 하게 주려고 해도 스웨거 상에서 필수값으로 지정 되버리더라구요.
해결 방법은 아래 깃허브 링크를 클릭하면 찾을 수 있습니다.
이를 해결하기 위해서는 optional:boolean 부분을 넣어주여야 합니다.
@Query({ name: 'foo', optional: true })
위와 같이 진행해주거나
export class CreateUserDto {
@ApiModelProperty()
name: string;
@ApiModelProperty()
email: string;
@ApiModelProperty({ required: false })
password?: string;
@ApiModelProperty({ required: false })
confirmPassword?: string;
}
위와 같이 dto 레벨에서도 해줄 수 있고,
또한 아래와 같이 사용할 수도 있다고 합니다.
@ApiImplicitQuery({
name: 'foo',
required: false,
type: String
})
저는 dto 단에서 수정해야하는 문제가 아닌 controller단에서 수정해야 하는 문제였기 때문에 아래의 형태로 문제를 해결했습니다.
@ApiQuery({ name: '쿼리파라미터1', required: false })
@ApiQuery({ name: '쿼리파라미터2', required: false })
@ApiQuery({ name: '쿼리파라미터3', required: false })
728x90
반응형
'프로그래밍(Basic) > NestJS' 카테고리의 다른 글
[바미] NestJS - 데코레이터(Custom decorators) (0) | 2024.03.02 |
---|---|
[바미] NestJS를 사용하여 REST API 구현하기 (0) | 2024.03.01 |
[바미] Nest 모듈(Module) 이해하기 (0) | 2024.02.27 |
[바미] Nest 소개 (0) | 2024.02.26 |
Nest - EntityMetadataNotFoundError (0) | 2024.01.12 |