meteor rest api使用铁路由器,限制rest api请求
我使用meteor和iron路由器创建了服务或RESTAPI。 我发现一个用户几乎每分钟请求10.000次。 我认为我可以像instagram或facebook REST API那样限制每分钟的请求 这是我的RESTAPI代码,使用的是meteor rest api使用铁路由器,限制rest api请求,api,meteor,iron-router,Api,Meteor,Iron Router,我使用meteor和iron路由器创建了服务或RESTAPI。 我发现一个用户几乎每分钟请求10.000次。 我认为我可以像instagram或facebook REST API那样限制每分钟的请求 这是我的RESTAPI代码,使用的是iron路由器 Router.route('/api/:col_name/getall', { where: 'server' }) .get(function () { var request = this.request.que
iron路由器
Router.route('/api/:col_name/getall', {
where: 'server'
})
.get(function () {
var request = this.request.query;
var resultTokenCheck = Meteor.call("CheckToken", request.userid, request.token);
if (resultTokenCheck.is_success) {
if (request.data && request.by) {
var result = Meteor.call('InsecureFindBy', this.params.col_name, request.data, request.by);
this.response.end(JSON.stringify(result));
}
else{
var result = Meteor.call('InsecureFind', this.params.col_name);
this.response.end(JSON.stringify(result));
}
}
else {
this.response.end(JSON.stringify(resultTokenCheck));
}
})
.post(function () {
this.response.end(JSON.stringify({
message: Helpers.Api.DenyPost,
is_success: false
}));
});
但如何限制meteor api请求?例如,角色空闲的用户每分钟只能请求100个权限,高级用户可以请求10000个权限。
谢谢我假设您在用户集合中设置了角色。为什么不在
.get
和.post
函数中检查角色?好的,你可以检查一下状态,增加以前每分钟请求数量的一个计数值,然后相应地返回你的响应。我仍然没有这样做,因为我仍然不知道最佳做法,如果我为每个请求创建一个日志,那好吗?如何计算这一分钟发生了多少请求?我也不知道在API方法定义中添加db请求是否是个好主意。关于如何计数,我不想记录每个请求。首先看一下这个主题:我假设您在用户集合中设置了角色。为什么不在.get
和.post
函数中检查角色?好的,你可以检查一下状态,增加以前每分钟请求数量的一个计数值,然后相应地返回你的响应。我仍然没有这样做,因为我仍然不知道最佳做法,如果我为每个请求创建一个日志,那好吗?如何计算这一分钟发生了多少请求?我也不知道在API方法定义中添加db请求是否是个好主意。关于如何计数,我不想记录每个请求。首先看一下本主题: