Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 필수명령어
- springboot
- forwardRef()
- @Overloading
- WEB
- TypeScript
- 순환종송석
- 소돌엔
- linux
- npx install create-react-app
- 페이지 라우팅
- 명령어
- @ Deprecated
- DTO typr
- 돌소엔
- 웹용어
- vue install
- BFF Pattern
- Port ~ was already in use.
- 카페
- React
- nestJS
- Vue
- java
- 돌소
- Web server failed to start.
- request dto
- 네스트제이에스
- :src
- 권한세팅
Archives
- Today
- Total
유바바아들 닮은 개발자의 끄적끄적
[ NestJS ] NestJs에서 DTO class 필드값 request body 요청시 타입 체크 하는 방법을 알아보자. 본문
NestJs
[ NestJS ] NestJs에서 DTO class 필드값 request body 요청시 타입 체크 하는 방법을 알아보자.
유바바아들 2023. 7. 21. 16:30nestjs에서 Controller에서 @Body DTO 세팅을 하던 중 이상한 점을 발견했다.
위와 같이 세팅을 하게 되면 나는 당연히 Request Body에 담겨져 있는 값이랑 선언한 DTO의 필드의 타입과 매핑이 되어
타입이 불일치하면 에러를 낼줄알았다 근데 내 생각과 전혀 같지 않고 그대로 request의 값을 받고 있었다.
그냥 주는대로 다 받아먹고 있었던 것이다.. 그래서 찾아보니 검증하는 방법이 존재하긴 했다
아래와 같이 따라해보자
npm install class-validator
class-validator 라이브러리를 추가한다
그리고 DTO클래스의 필드값의 자료형을 Request Body의타입과 일치시키기 위해 위와 같이 세팅해 준다.
그리고 아래와 같이 Controller에서 @Body()의 () 안에 ValidationPipe를 추가한다
ValidationPipe는 기본적으로 요청 데이터의 유효성을 검사하고, 유효하지 않을 경우 자동으로 400 Bad Request 에러를 반환해 주는 역할을 한다
그러고 나서 다시 api 요청을 하게 되면
그럼 위의 응답값처럼 알아서 타입이 불일치한 필드에 대해서 에러를 뱉어준다.
이상이다!!!!!!!!!
728x90
LIST
'NestJs' 카테고리의 다른 글
[ NestJs ] NestJs 순환 종속성 문제에 대해서 알아보자 (2) | 2023.07.24 |
---|---|
[ 웹 개발 ] NestJs VSCode 디버깅 모드 세팅 하는방법을 알아보자. (0) | 2023.07.19 |