如何获得Koa服务器URL路由列表

时间:2016-07-04 16:37:34

标签: node.js koa koa-router

我正在使用koajs开发一个模拟服务器,我想发布一个列出已开发API的服务。

我使用koa-router进行管理服务。

我想要一些想法:

var business_router = require('./controllers/router');
app.use(business_router.routes());   
app.use(business_router.allowedMethods());

console.log(app.listRoutes());

1 个答案:

答案 0 :(得分:13)

虽然我猜它不是官方koa-router API的一部分,但您可以执行以下操作:

var app = require('koa')();
var router = require('koa-router')();

router.get('/bar', function*() { this.body = 'Hi'; }});
router.get('/bar/foo', function*() { this.body = 'Hi'; }});
router.get('/foo', function*() { this.body = 'Hi'; }});
router.get('/bar/baz', function*() { this.body = 'Hi'; }});

app
  .use(router.routes())
  .use(router.allowedMethods());

console.log(router.stack.map(i => i.path));
// ['/bar', '/bar/foo', '/foo', '/bar/baz']

在您的情况下,假设business_routerkoa-router的实例:

console.log(business_router.stack.map(i => i.path));