app.js
var bodyParser = require('koa-bodyparser');
app.use(bodyParser());
app.use(route.get('/objects/', objects.all));
objects.js
module.exports.all = function * all(next) {
this.body = yield objects.find({});
};
这适用于获取所有对象。但是我想通过查询参数来获取,类似于localhost:3000 / objects?city = Toronto如何在我的objects.js中使用“city = Toronto”?
答案 0 :(得分:6)
您可以使用this.query
访问所有查询参数。
例如,如果请求来自网址/objects?city=Toronto&color=green
,您将获得以下内容:
function * routeHandler (next) {
console.log(this.query.city) // 'Toronto'
console.log(this.query.color) // 'green'
}
如果要访问整个查询字符串,可以改用this.querystring
。您可以在docs。
修改:使用Koa v2,您可以使用ctx.query
代替this.query
。