【发布时间】:2020-06-18 23:48:20
【问题描述】:
@Post()
@UseGuards(
CategoryVerificationGuard,
VerboseAuthGuard,
UniqueEntryTitleGuard,
)
@UseInterceptors(FileFieldsInterceptor([
{ name: AttachmentsName.IMAGES, maxCount: AttachmentMaxCount.IMAGES },
]))
public async createEntry(@UploadedFiles() attachedFiles: IUploadFile[],
@Body() createEntryBodyDto: CreateEntryBodyDto,
@Headers('authorization') authHeader: string): Promise<any> {
return this.entryService.create(getUserIdByAuthHeader(authHeader), {attachedFiles, ...createEntryBodyDto});
}
守卫的代码:
@Injectable()
export class CategoryVerificationGuard implements CanActivate {
constructor(
// private readonly categoriesService: CategoriesService,
) {}
public async canActivate(ctx: ExecutionContext): Promise<boolean> {
const request = ctx.switchToHttp().getRequest<Request>();
const requestBody: IConfirmationCodeValidation = request.body;
const requestHeaders: IncomingHttpHeaders = request.headers;
console.log('BODY', requestBody);
console.log('HEADERS', requestHeaders);
return true;
}
}
如果我设置multipart form 我会得到空的身体。为什么会这样?看起来像一个错误。
附言
然而,可以访问标题,但由于某种原因正文为空......
【问题讨论】:
标签: typescript nestjs