如何解决使用 connexion 和 swagger 制作的速率限制 REST API
我正在使用 Flask 和 connexion 构建 REST API。 (Python)
我正在使用包含所有端点、方法等定义的 swagger.yml 文件将 api 添加到 connexion 应用程序中...
问题是,如何为特定资源/路由/呼叫添加速率限制?
我似乎无法在文档中找到它。
谢谢。
解决方法
您可以将 X-Rate-Limit-* HTTP 标头与 http 429 状态代码一起使用。
这实际上在 openapi 中看起来像:
....
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/YourResponseModel"
headers:
"X-Rate-Limit-Limit": {
"description": "The number of allowed requests in the current period","schema": {
"type": "integer"
}
},"X-Rate-Limit-Remaining": {
"description": "The number of remaining requests in the current period","X-Rate-Limit-Reset": {
"description": "The number of seconds left in the current period","schema": {
"type": "integer"
}
}
"429":
description: Too many requests
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorMessageResponse"
....
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。