Koa 如何获取 Params
express 里经典用法
http://expressjs.com/en/4x/api.html#app.param
app.get('/user/:id', function (req, res, next) {
console.log('although this matches');
next();
});
请求是
访问 http://127.0.0.1:3000/users/alfred
那么 koa 里如何使用呢?
关于路由
- express 是自带路由
- koa 这货没有,所以,需要另外集成,koa-generator 使用的是目前比较流行的 koa-router(我喜欢它的是 Express-style)
https://github.com/alexmingoia/koa-router
routes/users.js
var router = require('koa-router')();
router.get('/:id', function *(next) {
console.log(this.params);
console.log(this.request.params);
this.body = 'this a users response!';
});
module.exports = router;
执行
npm run 2
访问http://127.0.0.1:3000/users/alfred
日志
<-- GET /users/alfred
{ id: 'alfred' }
undefined
GET /users/alfred - 28
首先肯定一点,this.params 是可以取到 params 的,这点和 express 路由用法类似
但是注意的是
this.request.params != this.params
这说明 params 不是 request 上的方法,翻查源码,确实是如此
https://github.com/alexmingoia/koa-router/blob/5.x/lib/router.js#L317
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Koa 如何获取 Query 参数
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论