gpt4 book ai didi

javascript - NestJS/ExpressJS 中的 Typescript 冲突类型枚举编号和编号

转载 作者:行者123 更新时间:2023-11-30 20:04:13 24 4
gpt4 key购买 nike

我会向我的 NestJS 服务器添加类型。

我写了一个 Controller (为 Express 爱好者准备的路由),然后尝试指定参数的类型:

public async getAllMessages(
@Query('startDate', ValidateDate) startDate: string,
@Query('endDate', ValidateDate) endDate: string,
@Res() res: Response,
): Promise<string> {
const data = await this.crudService.getPeriodicMessages(startDate, endDate);
return res.status(HttpStatus.OK).send(data);
}

我在这里添加了类型 Responseres ,因为我在 res.status(HttpStatus.OK).send(data) 中收到此错误消息.

错误:Cannot invoke an expression whose type lacks a call signature. Type 'Number' has no compatible call signatures. .

我检查过响应类型有 status number 类型的成员和 HttpStatus.OK类型为 enum number另外,我怎样才能将它转换为 number

我也读过other threads但无法解决我的问题。

最佳答案

在此示例中,无需使用 @Res() 注入(inject)响应对象。

您只需执行以下操作,nest 将自动处理响应。默认情况下,http 状态代码始终为 200(POST 为 201)。

public async getAllMessages(@Query('startDate', ValidateDate) startDate: string,
@Query('endDate', ValidateDate) endDate: string): Promise<string> {
return this.crudService.getPeriodicMessages(startDate, endDate);
}

您只需要为特殊情况注入(inject)响应对象,例如动态设置响应代码。

关于javascript - NestJS/ExpressJS 中的 Typescript 冲突类型枚举编号和编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53086334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com