FrontEnd

NestJS - Query Params로 배열 받기(DTO 사용)

hjkang

URL

localhost:3000/api/v1/user?emails=test1&emails=test2

 

 

Controller

import {
  Controller,
  Get,
  Query,
} from '@nestjs/common';
import { UserService } from '@/v1/user/user.service';
import {
  SearchUserDto,
} from '@/v1/user/dto';

@Controller('user')
export class UserController {
  constructor(private readonly userService: UserService) {}

  @Get()
  async find(@Query() dto: SearchUserDto) {
    return this.userService.find(dto);
  }
}

 

 

DTO

import { Transform } from 'class-transformer';
import { IsOptional, IsString, IsBoolean } from 'class-validator';

export class SearchUserDto {
  @IsString({ each: true })
  @IsOptional()
  @Transform(({ value }) => (Array.isArray(value) ? value : [value]))
  emails: string[];
}

 

 

'FrontEnd' 카테고리의 다른 글

Vue2와 Vue3의 차이  (0) 2023.11.09
React.js - useEffect 훅  (1) 2023.10.29
NextJS - 클라이언트 사이드에서 쿠키 저장  (0) 2023.08.06
Sass(Scss)  (0) 2023.01.06
React Native  (0) 2023.01.06