Получить Коа Актуальный маршрут - PullRequest
0 голосов
/ 15 октября 2018

Я новичок в коа.Мне нужно получить фактический маршрут в запросе коа.

Пример 1: Если я попал в маршрут /user, и я получил URL-адрес происхождения ctx /user/.

Пример 2: Если яударил маршрут user/:id и я получил URL-адрес происхождения ctx /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 } }

1 Ответ

0 голосов
/ 23 октября 2018

В koa.js при сопоставлении маршрута его путь доступен в ctx._matchedRoute, а если имя указано, имя доступно в ctx._matchedRouteName

ctx._matchedRoute ->, которое вернется в вашем случаеuser/:id

Помните, что ctx._matchedRoute является частью koa-router.

...