Uber simple route middleware for koa.
const_=require('koa-route');app.use(_.get('/pets',pets.list));app.use(_.get('/pets/:name',pets.show));If you need a full-featured solution check out koa-router, a Koa clone of express-resource.
$npminstallkoa-routeContrived resource-oriented example:
const_=require('koa-route');constKoa=require('koa');constapp=newKoa();constdb={tobi: {name: 'tobi',species: 'ferret'},loki: {name: 'loki',species: 'ferret'},jane: {name: 'jane',species: 'ferret'}};constpets={list: (ctx)=>{constnames=Object.keys(db);ctx.body='pets: '+names.join(', ');},show: (ctx,name)=>{constpet=db[name];if(!pet)returnctx.throw('cannot find that pet',404);ctx.body=pet.name+' is a '+pet.species;}};app.use(_.get('/pets',pets.list));app.use(_.get('/pets/:name',pets.show));app.listen(3000,(err)=>{if(err)console.error(err.stack);elseconsole.log('listening on port 3000');});MIT