“Request”类型上不存在属性“cookies”

问题描述 投票:0回答:2

我正在尝试读取 Nestjs 控制器中的 cookie。

我正在关注https://docs.nestjs.com/techniques/cookies#use-with-express-default

的文档

这是我的代码

import { Controller, Get, Render, Req } from '@nestjs/common';

@Controller()
export class AppController {

  @Get()
  @Render('home')
  getHello(@Req() req: Request) {
    return { text: req.cookies['id'] };
  }
}

问题是来自express的

Request
类型没有
cookies
。所以我收到这个错误。

src/app.controller.ts:11:24 - error TS2339: Property 'cookies' does not exist on type 'Request'.

11     return { text: req.cookies['id'] };
                          ~~~~~~~

如果我从

Request
中删除类型
req
,代码实际上会起作用。但后来我失去了类型安全。

typescript express nestjs
2个回答
6
投票

您需要从

Request
导入类型
express
(因此安装
@types/express
)。你用的那个不是它的。我假设您是默认的 http 适配器。


0
投票

导入错误 从 @types/express 导入

npm i @types/express
进口:
import express, { Request, Response} from "express";
这会解决它

© www.soinside.com 2019 - 2024. All rights reserved.