Node.js:没有类型声明的路由

时间:2019-06-30 05:38:01

标签: javascript node.js routes koa

我正在使用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可用?

如果您有任何疑问或需要帮助,请发表评论或答复。

1 个答案:

答案 0 :(得分:0)

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

'/order/customer' // first
'/order/:id' // later