我如何获得 Koa 服务器 url 路由列表
How can i get a list of Koa server url routes
我正在使用 koajs 开发一个模拟服务器,我想发布一个列出已开发 API 的服务。
我使用 koa-router 进行路由服务。
我想像这样:
var business_router = require('./controllers/router');
app.use(business_router.routes());
app.use(business_router.allowedMethods());
console.log(app.listRoutes());
虽然我猜不是官方的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_router
是 koa-router
的一个实例:
console.log(business_router.stack.map(i => i.path));
我正在使用 koajs 开发一个模拟服务器,我想发布一个列出已开发 API 的服务。
我使用 koa-router 进行路由服务。
我想像这样:
var business_router = require('./controllers/router');
app.use(business_router.routes());
app.use(business_router.allowedMethods());
console.log(app.listRoutes());
虽然我猜不是官方的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_router
是 koa-router
的一个实例:
console.log(business_router.stack.map(i => i.path));