【发布时间】:2021-03-27 14:16:46
【问题描述】:
我在我的烧瓶项目中设置了一个简单的 REST API,我正在尝试使用 flask_limiter 库对其进行速率限制。
from flask import Flask, request, redirect, session, render_template
from flask_restful import Api, Resource
from flask_limiter.util import get_remote_address
app = Flask(__name__)
api = Api(app)
# Api endpoint
class getData(Resource):
def get(self):
return {'data': 'data'}
api.add_resource(getData, "/data")
我尝试添加默认的@limiter.limit() 装饰器,但它似乎不起作用。当我测试它时,只有默认限制有效。
limiter = Limiter(
app,
key_func=get_remote_address,
default_limits=["1000 per day", "3 per hour"]
)
class getData(Resource):
@limiter.limit("1 per minute")
def get(self):
return {'data': 'data'}
不像装饰器中指定的那样将访问限制为每分钟 1 次,而是使用默认限制器值。
是否可以使用此方法对我的 API 进行速率限制,我该如何做?
【问题讨论】:
标签: python flask flask-restful