gpt4 book ai didi

javascript - Nodejs : Routing without type declaration

转载 作者:太空宇宙 更新时间:2023-11-04 01:28:20 25 4
gpt4 key购买 nike

我正在使用 koa 创建路由器。我们声明了两个路由器,如下所示。

app.get('/order/:id', async ctx => {
const { id } = ctx.params;
try {
const data = await order.findOne({
where: { order_id: id }
});
ctx.body = data;
} catch (e) {
ctx.body = e.message;
}
});

app.get('/order/customer', async ctx => {
const { id } = ctx.request.user;
try {
const data = await order.findOne({
where: { customer_id: id }
});
ctx.body = data;
} catch (e) {
ctx.body = e.message;
}
});

第一个是根据 order_id 选择订单的查询,第二个是通过中间件验证的 id 选择用户订单的查询。

curl http://localhost:3000/order/1

当我输入上面的内容时,order_id 是 1。

curl http://localhost:3000/order/customer

但是,与我的意图不同,当我输入上述内容并检查查询时,order_id 被称为 customer。有什么方法可以使 url 变得简单,使 /order/customer 可用?

如果您有任何我在问题中遗漏的问题,或者您可以帮助我,请评论或回复。

最佳答案

您遇到了路由定义顺序的问题。您应该先有特定路径路由,然后再有动态路由。在这里,我指的是 /:id:

的动态路由
'/order/customer' // first
'/order/:id' // later

关于javascript - Nodejs : Routing without type declaration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56822655/

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