Deși NestJS promovează o arhitectură agnostic de platformă, există situații când ai nevoie de acces direct la obiectele native @Req() (Request) și @Res() (Response) oferite de Express sau Fastify (cum ar fi setarea manuală de cookie-uri semnate sau streaming direct).
Atenție la modul de utilizare: Când injectezi @Res(), NestJS trece automat controllerul în modul manual (unde ești responsabil să apelezi res.send() sau res.json()). Pentru a menține serializarea automată NestJS, folosește întotdeauna @Res({ passthrough: true })!
Exemplu: Setare cookie securizat cu @Res({ passthrough: true })
import { Controller, Post, Res } from '@nestjs/common';
import { Response } from 'express';
@Controller('auth')
export class AuthController {
@Post('login-cookie')
login(@Res({ passthrough: true }) res: Response) {
res.cookie('auth_token', 'secret_jwt_xyz', {
httpOnly: true,
secure: true,
sameSite: 'strict',
maxAge: 3600000,
});
// NestJS serializează automat valoarea returnată datorită passthrough: true
return { status: 'autentificat', user: 'dexter' };
}
}
Întrebări & Exemple de Cod:
Decoratoarele @Req() și @Res() în NestJSAi o nelămurire despre utilizarea comenzii
Decoratoarele @Req() și @Res() în NestJSsau 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.