gpt4 book ai didi

node.js - 为什么 request.query 不再是 'any' 了? express request.query typescript 错误

转载 作者:行者123 更新时间:2023-12-03 12:14:55 24 4
gpt4 key购买 nike

在 npm i 之后,这是我尝试将查询参数传递给需要字符串的函数时得到的错误:
'string | 类型的参数查询 | (string | Query)[]' 不能分配给 'string' 类型的参数。
类型 'Query' 不可分配给类型 'string'.ts(2345)

import express from "express";
async function getProductsImagesByShopEvent(req: express.Request, res: express.Response,
next: express.NextFunction) {
try {
const params = req.query;
if (!params || !params.shopEventId)
throw new CustomError("params are missing in /business/getProductsImagesByShopEvent", 400, "params are missing");

const shopEvent = new ShopEvent();
const events = await shopEvent.getProductsImagesByShopEvent(params.shopEventId);
res.json(events);
}
catch (error) {
next(error);
}
}

async getProductsImagesByShopEvent(shopEventId: string) {
}

错误在 params.shopEventId..
如果我添加: const params = (req.query as any);有用

最佳答案

这使得 express 在类型上更加严格。您必须添加类型。

const shopEventId: string = req.query.shopEventId as string

关于node.js - 为什么 request.query 不再是 'any' 了? express request.query typescript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61305362/

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