Pentru a implementa reguli de autorizare avansate (cum ar fi roluri necesare, permisiuni sau rate limits specifice), trebuie să poți asocia metadate declarative pe endpoint-uri. Decoratorul @SetMetadata(key, value) realizează această asociere.
În interiorul unui Guard sau Interceptor, clasa injectabilă Reflector accesează aceste metadate atât la nivel de metodă individuală (handler), cât și la nivel de clasă de controller.
Exemplu: Crearea unui decorator custom @Roles() cu Reflector
import { SetMetadata, CustomDecorator } from '@nestjs/common';
export const ROLES_KEY = 'roles';
export const Roles = (...roles: string[]): CustomDecorator => SetMetadata(ROLES_KEY, roles);
// Utilizare pe controller:
// @Roles('admin', 'manager')
// @Get('reports')
Întrebări & Exemple de Cod:
@SetMetadata() și Clasa Reflector în NestJSAi o nelămurire despre utilizarea comenzii
@SetMetadata() și Clasa Reflector î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.