https://github.com/nestjs/nest/issues/279
https://github.com/nestjs/nest/issues/356
https://github.com/nestjs/nest/issues/4798
import { createParamDecorator, ExecutionContext } from '@nestjs/common';
import { plainToInstance } from 'class-transformer';
import { validateOrReject } from 'class-validator';
export const RequestHeader = createParamDecorator(async (value: any, ctx: ExecutionContext) => {
// extract headers
const headers = ctx.switchToHttp().getRequest().headers;
// Convert headers to DTO object
const dto = plainToInstance(value, headers);
// Validate
await validateOrReject(dto);
// return header dto object
return dto;
});
참고)