【问题标题】:Get Koa Actual route获取 Koa 实际路线
【发布时间】:2018-10-15 12:05:11
【问题描述】:

我是 koa 的新手。我需要在 koa 请求中获取实际路线。

示例 1:如果我到达路线 /user 并获得 ctx 原始 url /user/

示例 2:如果我到达路线 user/:id 并获得 ctx 原始 url /user/1

我尝试获取路径像

exports.checkAuth = async ctx => {
   console.log(ctx.originalUrl); // return -> /user/1
   console.log(ctx.path); // return -> /user/1
 };

我想在每个请求中获取像user/:id 这样的实际路由路径。

在快速路线中获得这样的实际路径

 app.get('/user/:id', function userIdHandler(req, res) {
     console.log(req.route);
 });

输出:

{ path: '/user/:id',
stack:
   [ { handle: [Function: userIdHandler],
   name: 'userIdHandler',
   params: undefined,
   path: undefined,
   keys: [],
   regexp: /^\/?$/i,
   method: 'get' } ],
methods: { get: true } }

【问题讨论】:

    标签: node.js koa koa-router


    【解决方案1】:

    在 koa.js 中,当路由匹配时,它的路径在ctx._matchedRoute 可用,如果命名,则名称在ctx._matchedRouteName 可用

    ctx._matchedRoute -> 在您的情况下将返回 user/:id

    请记住,ctx._matchedRoute 是 koa-router 的一部分。

    【讨论】:

      猜你喜欢
      • 2018-03-27
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 2018-04-09
      • 1970-01-01
      相关资源
      最近更新 更多