示例
现在我们已经安装了 Koa 路由器,让我们看看一个简单的 GET route 示例。
var koa = require('koa');
var router = require('koa-router');
var app = new koa();
var _router = router(); //实例化路由器
_router.get('/hello', async (ctx)=>{ //定义路由
ctx.body="Hello world!";
});
app.use(_router.routes()); //使用路由器定义的路由
app.listen(3001);
如果我们运行应用程序并转到本地主机:3001/hello,服务器在路由 "/hello" 接收 get 请求。我们的 Koa 应用程序执行附加到该路由的回调函数并发送 "Hello World!" 作为回应。
我们也可以在同一路线上有多种不同的方法。例如,
var koa = require('koa');
var router = require('koa-router');
var app = new koa();
var _router = router(); //实例化路由器
_router.get('/hello', async (ctx)=>{ //定义路由
ctx.body="Hello world!";
});
_router.post('/hello', async (ctx)=>{ //定义路由
ctx.body="你刚刚在'/hello'调用了post方法";
});
app.use(_router.routes()); //使用路由器定义的路由
app.listen(3001);
要测试此请求,请打开终端并使用cURL执行以下请求
curl -X POST "http://localhost:3001/hello"
express 提供了一个特殊的方法 all,用同一个函数处理特定路由上的所有类型的 http 方法。要使用此方法,请尝试以下操作-
_router.all('/test', async (ctx)=>{ //定义路由
ctx.body="所有的HTTP调用(不管动词是什么)都将得到这个响应";
});