gpt4 book ai didi

javascript - 为什么 req.route 显示以前的路线

转载 作者:行者123 更新时间:2023-12-03 00:04:02 25 4
gpt4 key购买 nike

我有

const router = express.Router();

router
.route('/:id')
.delete(
validate(messageValidator.deleteById),
MessageController.deleteById,
)
.get(
validate(messageValidator.getById),
MessageController.getById,
);

router
.route('/link-metadata')
.get(
validate(messageValidator.link),
MessageController.getLinkMetadata,
);

我不知道怎么做,但是当我向/link-metadata 发出请求时,req.route 如下:。 enter image description here

这给了我错误,因为验证第一条路线需要 Id 为 Guid。这样已经一年多了,现在不行了,如果我把路由器 .route('/link-metadata') ...在/:id 路由之上,它可以工作。为什么会发生这种情况?

最佳答案

因为订单。

.route('/:id') 这基本上意味着 /.* 因此,任何路线都将属于此范围。

因此,当您点击 /link-metada 时,它会点击 /:id 路线。其中req.param.id“link-metada”

将您的 /link-metadata 放在 /:id 路由上方,它将起作用。

关于javascript - 为什么 req.route 显示以前的路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55045860/

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