@HttpCode() și @Header() în NestJS în NestJS

http NestJS 10.x / TypeScript 5+ Q&A / Distribuie cod

Configurarea declarativă a codurilor de stare HTTP returnate și injectarea de antete de răspuns personalizate fără a folosi obiectul nativ de răspuns.

Sintaxă
@HttpCode(HttpStatus.NO_CONTENT) / @Header('Cache-Control', 'none')

În NestJS, codul implicit de stare HTTP este 200 OK (cu excepția cererilor POST care returnează automat 201 CREATED). Pentru a modifica acest comportament în mod declarativ, framework-ul oferă decoratorul @HttpCode().

Împreună cu @Header('Nume-Antet', 'valoare'), poți adăuga antete personalizate de cache, securitate sau tracking fără a părăsi paradigma declarativă și fără a injecta direct obiectul de răspuns nativ al platformei (Express / Fastify).

Exemplu: Ștergere resursă cu HTTP 204 No Content și antet de cache
import { Controller, Delete, Param, HttpCode, HttpStatus, Header } from '@nestjs/common';

@Controller('articles')
export class ArticlesController {
  @Delete(':id')
  @HttpCode(HttpStatus.NO_CONTENT) // Returnează HTTP 204
  @Header('X-Resource-Deleted', 'true')
  @Header('Cache-Control', 'no-store')
  async removeArticle(@Param('id') id: string): Promise {
    console.log(`Articolul #${id} a fost șters definitiv din sistem.`);
  }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: @HttpCode() și @Header() în NestJS

Ai o nelămurire despre utilizarea comenzii @HttpCode() și @Header() în NestJS sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.