我正在使用koa创建路由器。我们声明了两个路由器,如下所示。
<%= javascript_pack_tag> %
第一个查询是通过order_id选择订单的查询,第二个查询是通过中间件验证了ID的用户选择订单的查询。
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为1。
curl http://localhost:3000/order/1
但是,与我的意图不同,当我输入以上内容并检查查询时,order_id被称为curl http://localhost:3000/order/customer
。有什么方法可以使url简单使customer
可用?
如果您有任何疑问或需要帮助,请发表评论或答复。
答案 0 :(得分:0)
您遇到了路线定义顺序的问题。您应该首先使用特定的路径路由,然后再使用动态路由。在这里,我为/:id
指定的动态路由:
'/order/customer' // first
'/order/:id' // later