728x90
응답 데이터 자동 변환
nest.js에서 response로 데이터를 리턴해줄 때, 객체와 배열은 JSON으로 자동 변환해줍니다. 원시타입은 그대로 전달해줍니다.
데이터 변환 유형
- Number -> Number
- String -> String
- Boolean -> Boolean
- Object -> JSON
- Array -> JSON
// src/events.controllers.ts
import {
Body,
Controller,
Delete,
Get,
Param,
Patch,
Post,
} from '@nestjs/common';
@Controller('/events')
export class EventsController {
// 5개 정도 가볍게 유지하는 것이 좋다
@Get()
findAll() {
// 배열을 반환하여도 클라이언트는 JSON 데이터로 받는다
return [
{ id: 1, product: 'Jacket' },
{ id: 2, product: 'Pants '}
]
}
// Param 데코레이터 사용하여 파라미터 가져오기
@Get(':id')
findOne(@Param('id') id) {
return id;
}
// Body 데코레이터로 body 값 가져오기
@Post()
create(@Body() input) {
return input;
}
@Patch(':id')
update(@Param('id') identity, @Body() input) { }
@Delete(':id')
remove(@Param('id') id) { }
}
상태코드 자동 설정


nest.js은 응답 데이터만 자동으로 변환해주는 것이 아닙니다. 상태코드도 자동으로 세팅해줍니다. 우리는 Post 메소드에 상태코드를 지정해주지 않았는데 알아서 201 Created로 세팅해주었습니다.
주요 HTTP의 상태코드는 아래와 같습니다.
- Success(200-299)
200 OK201 Created204 No Content
- Redirects(300-399)
301 Moved Permanently302 Found304 Not Modified
- Client Error(400-499)
400 Bad Request401 Unauthorized403 Forbidden404 Not Found405 Method Not Allowed
- Server Error(500-599)
500 Internal Server Error502 Bad Gateway503 Service Unavailable504 Gateway Timeout
상태코드 직접 설정
// src/events.controllers.ts
import { Body, Controller, Delete, Get, Param, Patch, Post, HttpCode } from '@nestjs/common';
...
@Delete(':id')
@HttpCode(204)
remove(@Param('id') id) { }
...
만약 상태코드를 직접 설정하고 싶다면 어떻게 해야할까요? HttpCode(코드) 데코레이터를 사용하면 됩니다. 참 쉽죠?
728x90
'World > Nest.js' 카테고리의 다른 글
| 09. Nest.js_ Database 준비 (0) | 2023.02.07 |
|---|---|
| 08. Nest.js_RestAPI_DTO (0) | 2023.02.07 |
| 06. Nest.js_RestAPI_Request Body (0) | 2023.02.07 |
| 05. Nest.js_RestAPI_Route Parameters (0) | 2023.02.07 |
| 04. Nest.js_RestAPI_컨트롤러 (0) | 2023.02.07 |
댓글