Nest Swagger 3. [ Response 생성]
2022. 4. 21. 11:57ㆍNest.js
세팅과 기본 설정 : https://crispypotato.tistory.com/199
만드는 이유 :
기본적으로 summary, property를 설정해도 다른 개발자는 요청 하며 작업을 진행 할 수 있다.
하지만 요청 작업하기 힘든 상황이거나, 요청 하기를 귀찮을 수 있기 때문에
A api를 실행하면 A라는 결과가 나온다고 요청 전에 미리 보여주는것을 설정 할 것이다.
1. 파일 생성 : users.response.dto.ts
2. 코드 추가 : 기본적인 DTO를 똑같은 방식으로 만들어준다.
import { IsString } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
export class FindUserCheckResponseDto {
@ApiProperty({
example: 'testid',
description: 'id',
required: true,
})
@IsString()
id: string;
@ApiProperty({
example: '010155554444',
description: 'hp',
required: true,
})
@IsString()
hp: string;
@ApiProperty({
example: '변경 존재 아이디 확인',
description: 'ex',
required: true,
})
@IsString()
ex: string;
}
3. Controller 에 적용
사용하는 Controller에 가서 성공 시 들어가야 하는 response type에 DTO를 넣어준다.
import { UsersService } from './users.service';
import { Controller, Post, Put, Get, Param, Body } from '@nestjs/common';
import {
FindUserCheckDto,
} from './users.dto';
import { ApiOperation, ApiResponse } from '@nestjs/swagger';
import { FindUserCheckRequestDto } from './users.response.dto.ts';
@Controller('users')
export class UsersController {
constructor(private readonly userService: UsersService) {}
@ApiOperation({ summary: '핸드폰번호, 아이디로 유저 존재 확인' })
@ApiResponse({
status: 500,
description: 'Server Error',
})
@ApiResponse({
status: 200,
type: FindUserCheckResponseDto,
})
@Post('check')
async findUserCheck(@Body() body: FindUserCheckDto) {
return await this.userService.findUserCheck(body);
}
}
728x90
반응형
'Nest.js' 카테고리의 다른 글
Nest 다른 모듈에서 Mongoose 사용 방법 (0) | 2022.04.25 |
---|---|
Nest Swagger 4. 재 사용성 높히기 (0) | 2022.04.21 |
Nest Swagger 2. Swagger 사용 방법 [ 비밀번호 생성 ] (0) | 2022.04.20 |
Nest Swagger 1. 사용 방법 [ 세팅, summary 생성, property 생성 ] (0) | 2022.04.20 |
Nest DTO 설정 방법 (0) | 2022.04.20 |