使用HttpCode装饰器
通常 post 请求会返回 201 状态码
@HttpCode(HttpStatus.OK)
// auth.service.ts
import { Body, Controller, HttpCode, HttpStatus, Post } from '@nestjs/common';
import { AuthService } from './auth.service';
import { AuthDto } from './dto';
@Controller('auth')
export class AuthController {
constructor(private authService: AuthService) {}
@HttpCode(HttpStatus.OK)
@Post('signin')
signin(@Body() dto: AuthDto) {
return this.authService.signin(dto);
}
}
http-status.enum.d.ts
| Title | StatusCode |
|---|---|
| CONTINUE | 100 |
| SWITCHING_PROTOCOLS | 101 |
| PROCESSING | 102 |
| EARLYHINTS | 103 |
| OK | 200 |
| CREATED | 201 |
| ACCEPTED | 202 |
| NON_AUTHORITATIVE_INFORMATION | 203 |
| NO_CONTENT | 204 |
| RESET_CONTENT | 205 |
| PARTIAL_CONTENT | 206 |
| AMBIGUOUS | 300 |
| MOVED_PERMANENTLY | 301 |
| FOUND | 302 |
| SEE_OTHER | 303 |
| NOT_MODIFIED | 304 |
| TEMPORARY_REDIRECT | 307 |
| PERMANENT_REDIRECT | 308 |
| BAD_REQUEST | 400 |
| UNAUTHORIZED | 401 |
| PAYMENT_REQUIRED | 402 |
| FORBIDDEN | 403 |
| NOT_FOUND | 404 |
| METHOD_NOT_ALLOWED | 405 |
| NOT_ACCEPTABLE | 406 |
| PROXY_AUTHENTICATION_REQUIRED | 407 |
| REQUEST_TIMEOUT | 408 |
| CONFLICT | 409 |
| GONE | 410 |
| LENGTH_REQUIRED | 411 |
| PRECONDITION_FAILED | 412 |
| PAYLOAD_TOO_LARGE | 413 |
| URI_TOO_LONG | 414 |
| UNSUPPORTED_MEDIA_TYPE | 415 |
| REQUESTED_RANGE_NOT_SATISFIABLE | 416 |
| EXPECTATION_FAILED | 417 |
| I_AM_A_TEAPOT | 418 |
| MISDIRECTED | 421 |
| UNPROCESSABLE_ENTITY | 422 |
| FAILED_DEPENDENCY | 424 |
| PRECONDITION_REQUIRED | 428 |
| TOO_MANY_REQUESTS | 429 |
| INTERNAL_SERVER_ERROR | 500 |
| NOT_IMPLEMENTED | 501 |
| BAD_GATEWAY | 502 |
| SERVICE_UNAVAILABLE | 503 |
| GATEWAY_TIMEOUT | 504 |
| HTTP_VERSION_NOT_SUPPORTED | 505 |